0

XML から属性を取得しようとしていますが、エラーが発生します。

式は node-test に評価される必要があります

私は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.

また、属性値を表示する方法もわかりません。

4

3 に答える 3

2

そのはず

/Message/Head/Sender[@Identifier]
                    ^
                    |->no need of / here since Identifier is an attribute of sender

そう、

/Message/Head/Sender[@Identifier]Identifier属性がある場合にのみ送信者を選択します

/Message/Head/Sender[@Identifier='id']Identifier値を持つ属性がある場合にのみ送信者を選択しますid

于 2012-11-29T08:48:34.933 に答える
1

これは、指定された XML の Xpath を評価する素晴らしいツールです。

このリンクhttp://www.xmltoolbox.com/にアクセスし、xml をテキストエリアに貼り付けて、カーソルを Xpath.Xpath が生成されるノードに移動してみてください。

于 2012-11-29T08:46:07.927 に答える
-1
 XmlIO xml = new XmlIO(xmlPath);
                ProductName = xml.SelectNodeValue(@"//PRODUCTINFO/Application/@ProductName");
                IDictionary<string, string> keyValList = xml.SelectNodesList(@"//PRODUCTINFO/Application/Parameters");

見てみる

于 2012-11-29T08:47:16.267 に答える