如何将多个plist文件合并为一个?
How to merge multiple plist files into one?
刚开始,我真的不知道我在做什么。我被赋予了这项实习任务,并且我真的在学习。我有多个 plist 文件,它们每个包含大约 22 个项目,并列出了颜色值。我需要将所有这些文件合并为一个文件,但我真的不确定该怎么做。我有一个我需要遵循的特定结构,我真的不确定如何去做。我被告知在 texteditor 中打开 plist,然后将所有原始代码粘贴到一个文本文件中,这似乎不起作用,因为我最终只获得了粘贴到文本文件中的第一个 plist 的值。你能帮忙的话,我会很高兴。谢谢。
有多种方法可以解决这个问题。默认情况下,plist 是一种特殊形式的 XML 文件。如果你弄清楚语法,你实际上可以使用文本编辑器将多个文件的内容合并在一起,但你需要确保你做对了。
plist 文件对整个文件有特定的 header。你不能只是 copy/paste 多个 plist 在一起,因为那样他们会重复 header。
下一个方法是编程。如果你能弄清楚这些文件包含的外部 collection 类型(可能是数组或字典),那么你可以编写几行代码,将每个 plist 作为数组读取,使用 NSArray 代码组合它们(假设它们包含颜色数组),然后将组合的数组保存回新的 plist。正如 vadian 所说,您还可以使用 NSPropertyListSerialization class。这是一种更 general-pupose 的处理 plist 文件的方式,但它也更复杂且更难理解。
第三种方法是 Xcode。如果你 right-click 一个 plist 文件和 select "open in Xcode" 它应该给你 Xcode 的 属性 列表编辑器。然后,您可以将文件的内容复制并粘贴在一起,并将结果保存到新文件中。
我明白了!!首先创建结构,或使用提供给您的模板。我建议在 Xcode 中打开此模板/结构,因为这样可以更轻松地在将列表视为 plist 和查看源代码之间切换。打开您的模板作为源代码。然后在文本编辑器中打开您的每个 plist,并将 plist 中的代码复制并粘贴到模板源代码中的适当区域,然后您可以在 Xcode 中将其作为 属性 列表进行查看确定它是正确的。在这里您唯一需要注意的是确保您没有收到任何错误。否则这很好用!
假设您的 from.plist
包含键 1, 2
并且 to.plist
包含 2, 3
运行这个:
/usr/libexec/PlistBuddy -x -c "Merge from.plist" to.plist
to.plist
将包含 1, 2, 3
刚开始,我真的不知道我在做什么。我被赋予了这项实习任务,并且我真的在学习。我有多个 plist 文件,它们每个包含大约 22 个项目,并列出了颜色值。我需要将所有这些文件合并为一个文件,但我真的不确定该怎么做。我有一个我需要遵循的特定结构,我真的不确定如何去做。我被告知在 texteditor 中打开 plist,然后将所有原始代码粘贴到一个文本文件中,这似乎不起作用,因为我最终只获得了粘贴到文本文件中的第一个 plist 的值。你能帮忙的话,我会很高兴。谢谢。
有多种方法可以解决这个问题。默认情况下,plist 是一种特殊形式的 XML 文件。如果你弄清楚语法,你实际上可以使用文本编辑器将多个文件的内容合并在一起,但你需要确保你做对了。
plist 文件对整个文件有特定的 header。你不能只是 copy/paste 多个 plist 在一起,因为那样他们会重复 header。
下一个方法是编程。如果你能弄清楚这些文件包含的外部 collection 类型(可能是数组或字典),那么你可以编写几行代码,将每个 plist 作为数组读取,使用 NSArray 代码组合它们(假设它们包含颜色数组),然后将组合的数组保存回新的 plist。正如 vadian 所说,您还可以使用 NSPropertyListSerialization class。这是一种更 general-pupose 的处理 plist 文件的方式,但它也更复杂且更难理解。
第三种方法是 Xcode。如果你 right-click 一个 plist 文件和 select "open in Xcode" 它应该给你 Xcode 的 属性 列表编辑器。然后,您可以将文件的内容复制并粘贴在一起,并将结果保存到新文件中。
我明白了!!首先创建结构,或使用提供给您的模板。我建议在 Xcode 中打开此模板/结构,因为这样可以更轻松地在将列表视为 plist 和查看源代码之间切换。打开您的模板作为源代码。然后在文本编辑器中打开您的每个 plist,并将 plist 中的代码复制并粘贴到模板源代码中的适当区域,然后您可以在 Xcode 中将其作为 属性 列表进行查看确定它是正确的。在这里您唯一需要注意的是确保您没有收到任何错误。否则这很好用!
假设您的 from.plist
包含键 1, 2
并且 to.plist
包含 2, 3
运行这个:
/usr/libexec/PlistBuddy -x -c "Merge from.plist" to.plist
to.plist
将包含 1, 2, 3