当前位置:  开发笔记 > 数据库 > 正文

解析Xml最有效的方法

如何解决《解析Xml最有效的方法》经验,为你挑选了2个好方法。

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


更新: 使用XmlReader似乎是读取xml最快捷的方式,这听起来对我很合理,但有其局限性.我想知道XmlDocument和XLinq之间是否存在非连续访问xml的性能差异.


更新: 我发现一些帖子比较了加载xml文档的不同方法.XmlReader是最快的,在您加载具有10,000+节点的文档之前,XmlDocument和LINQ to XML之间存在微不足道的差异,其中LINQ to XML出现在前面.

http://www.nearinfinity.com/blogs/page/jferner?entry=performance_linq_to_sql_vs

http://www.hanselman.com/blog/AtAGlanceXmlReaderVsXPathNavigatorVsXmlDocument.aspx

Coincoin.. 13

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

XmlDocument 它以树结构读取整个文件,然后可以使用XPath或浏览所有节点来访问它.由于整个XML结构必须加载到内存中,因此对于非常大的文件需要大量内存.非常好用,适用于较小的文件(少于几兆).

XmlReader 快速,但也是一个真正的痛苦,因为它是顺序的.如果您需要返回,则不能,并且XML结构通常很容易出现无序的订单.此外,如果您从非结束的XML流中读取,这可能是唯一的方法.

XML序列化程序 这基本上可以为您完成所有工作,您提供模型的根对象,并为您创建和读取XML.但是,您几乎无法控制结构,阅读旧版本的对象会很痛苦.所以这对持久性不会很好.

XDocument和LINQ to XML 正如Daniel Straight指出的那样.但我不知道评论是否足够.我邀请任何人编辑帖子并添加缺少的信息.


现在写作是另一回事.维护XmlDocument并使用XmlWriter是一件轻而易举的事.

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



1> Coincoin..:

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

XmlDocument 它以树结构读取整个文件,然后可以使用XPath或浏览所有节点来访问它.由于整个XML结构必须加载到内存中,因此对于非常大的文件需要大量内存.非常好用,适用于较小的文件(少于几兆).

XmlReader 快速,但也是一个真正的痛苦,因为它是顺序的.如果您需要返回,则不能,并且XML结构通常很容易出现无序的订单.此外,如果您从非结束的XML流中读取,这可能是唯一的方法.

XML序列化程序 这基本上可以为您完成所有工作,您提供模型的根对象,并为您创建和读取XML.但是,您几乎无法控制结构,阅读旧版本的对象会很痛苦.所以这对持久性不会很好.

XDocument和LINQ to XML 正如Daniel Straight指出的那样.但我不知道评论是否足够.我邀请任何人编辑帖子并添加缺少的信息.


现在写作是另一回事.维护XmlDocument并使用XmlWriter是一件轻而易举的事.

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



2> Instance Hun..:

还有XDocument和LINQ to XML,在程序员时间方面,我认为这是最有效的.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有