[英]Getting an xml attribute with XPAth using c#
我正在嘗試從XML獲取屬性,但我收到一個錯誤:
表達式必須評估為節點測試
我是XPath的新手。
XML文件示例:
<Message>
<Head>
<Sender Identifier="id" ref=""/>
</Head>
</Message>
碼:
XPathDocument xDoc = new XPathDocument("documentName.xml");
XPathNavigator nav = xDoc.CreateNavigator();
XPathNodeIterator xpathNode = nav.Select("/Message/Head/Sender/[@Identifier]");
//This is where I get the error.
而且我也不確定如何顯示屬性值。
它應該是
/Message/Head/Sender[@Identifier]
^
|->no need of / here since Identifier is an attribute of sender
所以,
/Message/Head/Sender[@Identifier]
只有在具有Identifier
屬性的情況下才會選擇Sender
/Message/Head/Sender[@Identifier='id']
只有在具有值id
的Identifier
屬性時才會選擇Sender
這是評估給定XML的Xpath的絕佳工具
轉到此鏈接http://www.xmltoolbox.com/並嘗試將您的xml粘貼到textarea中並將光標移動到您希望在下面生成Xpath.Xpath的節點
XmlIO xml = new XmlIO(xmlPath);
ProductName = xml.SelectNodeValue(@"//PRODUCTINFO/Application/@ProductName");
IDictionary<string, string> keyValList = xml.SelectNodesList(@"//PRODUCTINFO/Application/Parameters");
看一看
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.