我有一个XML文件,我必须将其转换为属性列表文件(plist)。我尝试了终端的“plutil”命令,但效果不好。我怎么转换? 非常感谢
答案 0 :(得分:4)
我通过在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)
现在将此数据复制到文本文件中,并添加最后几个标签和doctype信息,您可以从上面复制这些信息。保存扩展名为.plist,你很高兴!将文件添加回xcode项目并像任何其他plist一样加载它。