【问题标题】:How to know which line of plist file is incorrect如何知道plist文件的哪一行不正确
【发布时间】:2013-03-07 12:00:55
【问题描述】:

我从 csv 格式的文件为我的应用程序生成 plist 文件。

一切似乎都是正确的,但是当我尝试在 XCode 中构建应用程序或打开 plist 文件时,我收到一条错误消息:

mydata.plist:0: error: reading plist: 数据已损坏,无法读取。

文件包含大量数据,因此可能很难手动找到不正确的行。

是否可以验证文件并获取哪一行不正确的信息?

【问题讨论】:

  • 它是什么类型的plist?下一步? XML?二进制?如果是 XML,您可以尝试在其上运行 xmllint 以查看它是否是格式正确的错误。
  • plist 文件只是一个 XML 文件。使用您能找到的任何 XML 验证工具。即使在 Safari 或 Firefox 中打开文件也可能会告诉您 XML 是否有效。虽然它可能是有效的 XML,但仍然是无效的 plist 文件。
  • @rmaddy:实际上有 3 种有效的 plist 格式,尽管其中一种 (NextSTEP) 已被弃用。
  • @KevinBallard 是的,但我认为由于他是从 CSV 文件创建 plist,因此很可能是 XML 格式。
  • 是的,它是 XML 格式。我尝试在 Safari 中打开它并打开。

标签: ios plist


【解决方案1】:

尝试在终端中运行以下命令:

plutil <PATH_TO_FILE>

它会告诉你问题所在并给你行号。

【讨论】:

  • 谢谢,效果很好。看起来我的脚本意外地将字符串放入了&lt;real&gt;&lt;/real&gt;。那是因为在将 csv 行拆分为列之前,我的脚本将 &amp;amp; 替换为 &amp;amp;...只是一个旁注:) ...
  • 如果您不想输入 ,只需在终端中输入 plutil,然后将文件从 Finder 拖到终端窗口。
  • 很好的答案!谢谢。
  • 超级有帮助;让我认识了 plutil(它的手册页上有一个可爱的条目 re“STANDARDS”——“plutil 命令不遵守任何人的规则,只遵守它自己的规则。”)并提醒我,我的评论错误地出现在主 之前。
【解决方案2】:

在 Chrome 浏览器中打开 plist 文件给出错误行号。

【讨论】:

    猜你喜欢
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 2016-02-24
    • 2023-02-04
    • 1970-01-01
    相关资源
    最近更新 更多