繁体   English   中英

使用xml的最佳方法是什么?

[英]What is the best way to work with xml?

使用表示树的xml文件的最佳方法是什么。 xml大小为70mb。

答案取决于您想要对XML做什么。 一般来说,文件大小你不想一次性阅读。 因此,以下页面进行了有趣的读取,提供了一种从文件中挖掘数据而无需将其加载到内存中的方法。 它允许您将XmlReader的速度与Linq的灵活性结合起来:

http://msdn.microsoft.com/en-us/library/bb387035.aspx

基于这种技术的相当有趣的文章:

http://blogs.msdn.com/b/xmlteam/archive/2007/03/24/streaming-with-linq-to-xml-part-2.aspx

Linq to XML是目前使用xml最简单的方法,但这通常会将servire树加载到内存中,在这种情况下,使用70mb文件可能并不理想。
然而,正如Mick Taulty的博客文章中所展示的那样

如果您想从大型xml文件中读取数据,那么XmlTextReader就是您的选择。

对于.NET 3.5及更高版本,我更喜欢使用LINQ to XML来完成我对XML文件的所有工作。

LinqToXml可能是一个不错的选择,如果你想在内存中查询它,但如果你发现你的内存占用量有多大问题,你可以使用XMLReader

Linq To XML

  • 较大的文档较慢(大内存占用)
  • 可查询

XmlTextReader的

  • 快速
  • 一次只有一行,所以没有查询

由于您已经在使用DOM,因此您可以尝试的另一种XML解析器是SAX解析器。 SAX解析器不是将整个树加载到内存中,而是事件驱动的,并在遇到它们时处理节点等。

进一步阅读: http//www.saxproject.org/event.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM