ios - 将 xml 转换为 plist

标签 ios xml xcode plist

我有一个 XML 文件,我必须将其转换为属性列表文件 (plist)。我尝试从终端输入“plutil”命令,但效果不佳。我怎样才能转换? 非常感谢

最佳答案

我通过在 Excel 中编写公式来为您创建 plist 文件的文本来完成此操作。这很容易。

1)(可选) 在 XCode 中,创建一个具有最终所需格式的 plist。保存,然后在 Finder 中转到此内容。在 textWrangler 或文本编辑器中打开它,以便您可以查看 plist 中每个元素的标签。

例如,您应该找到类似以下内容的内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">

<dict>

    <key>First Key Name</key>
    <array>
        <string>Before God we are all equally wise</string>
        <string></string>
        <string>Albert Einstein</string>
        <integer>0</integer>
    </array>

    <key>Second Key Name</key>
    <array>
        <string>Do not worry about your troubles.</string>
        <string></string>
        <string>Albert Einstein</string>
        <integer>0</integer>
    </array>

</dict>
</plist>

2)我假设: - 您的电子表格代表了许多行/对象/级别的相同 4 个属性的描述 - 您将每个数组作为电子表格中的单独行 - 以相同的顺序为每一行描述相同的属性。 - 您将能够通过知道它们存储在哪个索引来访问数组中的项目。即,我将通过查看索引 2 处的第二个数组来获取第二个作者。

您的电子表格应如下所示:

           A                B            C             D                E            F

     /--(Key Names)--\/-------------------(Properties of Each)-----------------\

1    Level Name      |   Quote        |  Notes  |   Author        |  Favorited  | 
     ____________________________________________________________________________
2    First Key Name  |  Before God... |         | Albert Einstein |      0      |
3    Second Key Name |  Do not wor... |         | Albert Einstein |      0      |
.
.
.

因此,我的每个对象都会在字典中获得自己的键,并且每个对象由 3 个字符串和一个整数描述。

3)公式

在电子表格最后一列的右侧,我将编写一个公式来生成该行的 xml 代码:

(F2) = CONCATENATE ("<key>",A2,"</key> <array> <string>",B2,"</string> <string>",C2,"</string> <string>",D2,"</string> <integer>",E2,"</integer> </array>")

将此单元格的右下角向下拖动到所有其他行中,它们将自动填充每行的信息。

同样,在电子表格底部的所有行下,您可以使用另一个公式来连接行。假设您有 300 行:

(F4) = CONCATENATE (F2:F300) 

现在将此数据复制到文本文件中,并添加最后几个标签和文档类型信息,您可以从上面复制这些信息。使用扩展名 .plist 保存,然后就可以开始了!将文件添加回您的 xcode 项目并像任何其他 plist 一样加载它。

关于ios - 将 xml 转换为 plist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10920565/

相关文章:

ios - 这个下划线在 Swift 中是什么意思?

iphone - 发送到实例的 UITableViewController 无法识别的选择器

ios - 在屏幕 ios7 之间转换时边缘闪烁

ios - 如何设置 UIView 委托(delegate)?

c# - 如何反序列化为动态类型

C# Stream Reader 添加\n 到 XML

xcode - 如何使用 Xcode 4.3.2 打开对象版本为 38 的 Xcode 项目

android - 如何知道 HTML5 中的音频路径(Chrome 浏览器 - iOS/Android)

objective-c - 获取 "Warning may not respond to a"消息 iphone

使用chardata在golang中解析xml