gpt4 book ai didi

.net - 最高效的xml解析方式

转载 作者:数据小太阳 更新时间:2023-10-29 01:39:31 25 4
gpt4 key购买 nike

.Net 框架现在有(至少)四种不同的读取 Xml 字符串的方法。我已经使用了 XmlDocument、XmlReader、XPath 和 XElement 中的每一个,但在编码或执行期间使用哪个最有效?每一种都是为不同的任务而设计的,优缺点是什么?


更新:使用 XmlReader 似乎是读取 xml 的最快方式,这对我来说听起来很合理,但也有其局限性。我想知道 XmlDocument 和 XLinq 在非顺序访问 xml 方面是否存在任何性能差异。


更新:我发现一些帖子比较了加载 xml 文档的不同方法。 XmlReader 是最快的,XmlDocument 和 LINQ to XML 之间没有显着差异,直到您加载具有 10,000+ 个节点的文档,其中 LINQ to XML 排在前面。

最佳答案

三种最常见的阅读方法是:

Xml文档它以树结构读取整个文件,然后可以使用 XPath 或浏览所有节点来访问该文件。对于非常大的文件,它需要大量内存,因为必须将整个 XML 结构加载到内存中。对于较小的文件(小于几兆)非常好且易于使用。

XmlReader速度快,但使用起来也很痛苦,因为它是顺序的。如果你需要返回,你不能,而且 XML 结构通常很容易出现困惑的顺序。此外,如果您从一个非结束的 XML 流中读取,这可能是唯一的方法。

XML 序列化器这基本上会为您做所有事情,您提供模型的根对象,它会为您创建和读取 XML。但是,您几乎无法控制结构,并且阅读旧版本的对象是一件痛苦的事情。所以这对于持久性来说效果不是很好。

XDocument 和 LINQ to XML正如 Daniel Straight 指出的那样。但我还不够了解,无法发表评论。我邀请任何人编辑帖子并添加缺失的信息。


现在写作是另一回事了。维护 XmlDocument 很痛苦,而 XmlWriter 使用起来轻而易举。

根据我的经验,最好的组合是使用 XmlWriter 编写并使用 XmlDocument 读取。

关于.net - 最高效的xml解析方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/606304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com