2008-10-23 58 views

回答

9

我從來沒有嘗試過,但我首先想到的會是這樣的:

XmlNode myNode; 
XNode translatedNode = XDocument.Parse(myNode.OuterXml); 
0

我不認爲有,但你爲什麼需要?每一個都是Xml結構中讀取文檔的不同方式的最低'葉'。

如果您使用Linq到Xml和XDocument,您將擁有所有linq樣式的語法和新功能,但實際上只是選擇一個節點。

一旦你處理了元素,你爲什麼需要切換?

+0

只是有一些舊的代碼返回一個XmlNode,但我想查詢這個節點,它似乎實際上是一個文檔。 – Dave 2008-10-23 20:33:42

10

Eric White's blog是成爲很酷的XML/XLINQ轉換和這樣的地方。我知道這個問題的前期是帖子,但是我在查看其他一些問題時發現了它,所以也許人們仍然會遇到這個相當數量的問題。他的博客有很多優化的LINQ,就像我懷疑原始響應的.Parse()調用是非最優的,事實上我知道它不是。

解析需要將XML加載一次,Eric使用擴展方法處理XmlReader/Writer的XML轉換。這些方法能夠輸入流,所以如果你的XML有任何實質的大小,你必須使用它們。