2013-04-08 47 views
0

我有一個具有節點/值這樣的XML文檔:C#XmlNode的選擇單個節點以除去

<data name="btnAutoTrans" xml:space="preserve"> 
    <value>Auto Trans</value> 
</data> 
<data name="btnDieEngine" xml:space="preserve"> 
<value>Diesel Engine</value> 
</data> 

我需要選擇具有特定名稱=「btnDieEngine」(例如)

單個節點

但我試過搜索谷歌的所有代碼總是返回NULL值。

原代碼我是

XmlNode node = xmldoc.SelectSingleNode("data[name='btnDieEngine']"); 

但這返回null。

任何幫助,將不勝感激

+0

你嘗試過這樣的事情'Brad' '的SelectSingleNode( 「//數據[@名稱= 'btnDieEngine']」)的innerText;' – MethodMan 2013-04-08 16:25:07

+0

有沒有你不是活得任何理由。 t使用[XDocument](http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.aspx)? – 2013-04-08 16:39:19

+0

沒理由,我只是在使用xmldoc進行所有其他處理,而且它正常工作。 你能提供一個xDocument的例子嗎? – Brad 2013-04-08 18:05:07

回答

0

你的XPath是無效的。試着說一句:

XmlNode node = xmldoc.SelectSingleNode("data[@name='btnDieEngine']"); 
+0

這沒有用,但如果我使用: xmldoc.SelectSingleNode(「// data [@ name ='btnDieEngine']」); 它有點工作,但給了我這個: {element,Name =「data」} vs我想要的精確值,並在VS它下降了很多值。 如果我搜索的所有數據和我搜索OuterXML它返回我需要的價值,但我不確定如何得到這個值到一個變量,這樣我可以做同樣的事情到 node.RemoveAll() 爲那個特定的節點名稱 – Brad 2013-04-08 18:21:18