我有一个 XML 文件,我必须将其转换为属性列表文件 (plist)。我从终端尝试了“plutil”命令,但效果不佳。我怎样才能转换?非常感谢
1 回答
我通过在 excel 中编写一个公式来为您创建 plist 文件的文本来实现这一点。它很容易。
1)(可选)在 XCode 中,创建一个 plist,它最终具有您想要的格式。保存,然后在查找器中转到此。在 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 一样加载它。