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

时间:2010-11-12 10:37:43

标签: c# .net xml

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

6 个答案:

答案 0 :(得分:2)

答案取决于您要对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

答案 1 :(得分:2)

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

中所示,有很多方法可以解决这个问题

答案 2 :(得分:0)

如果您想从大型xml文件中读取数据XmlTextReader是可行的方法。

答案 3 :(得分:0)

对于.NET 3.5及更高版本,我更倾向于使用LINQ to XML来处理XML文件。

答案 4 :(得分:0)

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

Linq To XML

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

XmlTextReader的

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

答案 5 :(得分:0)

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

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