2012-04-19 83 views
1

使用XDocument使用xpath来解析XML 哪一个性能更好?Xpath使用Xpath

例如要搜索的标签和XML获得价值

tags = xmlDoc.Descendants(xmlTag); 

xml.SelectSingleNode("//root/node") 

那么,哪一个会更快?

+0

你为什么不尝试呢? – Botz3000 2012-04-19 06:15:24

+1

XDocument和XPath是完全不同的东西......请考虑编辑您的问题,以明确您想要比较的内容。 – 2012-04-19 06:16:20

回答

7

XPath不解析XML ...它是在支持任何其他XML API的顶部使用查询语言。 (例如,你可以使用XPath在XmlDocumentXDocument

要找出哪些查询会更快有效,你应该尝试在你的实际的样品您实际的XPath和LINQ to XML查询数据。我希望XPath在某些情况下更快,而LINQ to XML在其他情况下更快。

但是,如果查询执行速度实际上是您的代码中的瓶颈,我会感到惊讶 - 您是否有证据表明它是?你应该首先问自己哪个是最易读的。执行该代码,然后查看它是否足够快。

+0

它只是一个普遍的问题,为的是关于XDocument的信息,因为我刚开始使用XDocument和tring使用xpath与xdocument – 0cool 2012-04-19 06:53:58

+0

@Neo:那么你仍然*可以*使用XPath与XDocument - 但是我个人觉得它更具可读性使用提供的方法。 – 2012-04-19 07:25:26