2012-04-19 111 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