加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

.net – 解析Xml最有效的方法

发布时间:2020-12-16 07:56:46 所属栏目:百科 来源:网络整理
导读:.Net框架现在有(至少)四种不同的读取Xml字符串的方法.我已经使用XmlDocument,XmlReader,XPath和XElement中的每一个,但是在编码或执行时最有效的使用哪一个?每个都是为了不同的任务设计的,有什么优缺点? 更新: 使用XmlReader似乎是读取xml的最快速方式,这
.Net框架现在有(至少)四种不同的读取Xml字符串的方法.我已经使用XmlDocument,XmlReader,XPath和XElement中的每一个,但是在编码或执行时最有效的使用哪一个?每个都是为了不同的任务设计的,有什么优缺点?

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

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

> http://www.nearinfinity.com/blogs/page/jferner?entry=performance_linq_to_sql_vs
> http://www.hanselman.com/blog/AtAGlanceXmlReaderVsXPathNavigatorVsXmlDocument.aspx

三种最常见的方法是:

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

的XmlReader
快,但也是一个真正的痛苦使用,因为它是顺序的.如果你需要回去,你不能,而XML结构通常很容易出现组织乱序.另外,如果你从一个非结尾的XML流中读取,这可能是唯一的办法.

XML串行器
这基本上为您做了一切,您提供了模型的根对象,并为您创建和读取XML.但是,您几乎无法控制结构,并且读取旧版本的对象是一种痛苦.所以这对于持久性来说不会很好.

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

现在写作是另一个故事.维护一个XmlDocument是一件很痛苦的事情,XmlWriter可以轻松使用.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读