将.plist文件解析为纯XML C#

Ora*_*ran 7 c# plist

我正在尝试使用c#来读取我的Apple Safari历史记录,该文件存储在plist文件中,但是我总是遇到错误而且我不确定正确的方法是什么.我试图执行的代码是这样的:

XmlDocument xmd = new XmlDocument();
xmd.LoadXml(@"C:\Users\Oran\AppData\Roaming\AppleComputer\Safari\History.plist");
Run Code Online (Sandbox Code Playgroud)

我总是得到以下错误: "Data at the root level is invalid. Line 1, position 1."

有谁知道这段代码有什么问题,并建议读取plist文件的最佳方法是什么?

Klu*_*uyg 13

看起来Apple Safari history.plist是二进制plist.我找到了一个很棒的项目:

https://github.com/animetrics/PlistCS

从自述文件:

这是一个C#Property List(plist)序列化库(MIT许可证).它支持plist格式的XML和二进制版本.


Den*_*nis 2

试试这个,一切都应该没问题;-)

xmd.Load(...)
Run Code Online (Sandbox Code Playgroud)

您使用的数据从字符串而不是文件加载 xml 数据。