我可以在 .NET 中解析 XML。现在我至少可以在 XmlTextReader
和 XDocument
之间做出选择。这两者(或框架中包含的任何其他 XML 解析器)之间是否有任何比较?
也许这可以帮助我在不深入尝试两者的情况下做出决定。
预计 XML 文件相当小,与易用性相比,速度和内存使用是次要问题。 :-)
(我打算在 C# 和/或 IronPython 中使用它们。)
谢谢!
最佳答案
如果您乐于将所有内容读入内存,请使用 XDocument
。它会让您的生活变得更轻松。 LINQ to XML 是一个可爱的 API。
基本上,如果您需要以流方式处理巨大 XML 文件,请使用XmlReader
(例如XmlTextReader
)。这是一个更痛苦的 API,但它允许流式传输(即仅在您需要时处理数据,因此您可以浏览一个巨大的文档并且一次只有少量内存)。
然而,有一种混合方法 - 如果您有一个由小元素组成的大文档,您可以从位于元素开头的 XmlReader
创建一个 XElement
元素,使用 LINQ to XML 处理该元素,然后将 XmlReader
移动到下一个元素并重新开始。
关于c# - XmlTextReader 与 XDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8096564/