30

質問はかなりばかげていますが、私は完全に立ち往生しています。条件に基づいてノードの子ノードを抽出したい。XML は次のとおりです。

<a> 
 <aCode>aaa</aCode>
 <aValue>bbb</aValue>
</a>

表現は明らかです://a[aCode='aaa']

しかし、名前空間があり、使用する必要がある場合、どのように変更する必要があるかわかりませんlocal-name()。以下をテストしましたが、解析エラーが発生します。

/*[local-name()='a'][[local-name()='aCode']='aaa']

私が何をすべきかについて誰か考えがありますか?

4

3 に答える 3

51

あなたはおそらく意味した

//*[local-name()='a'][*[local-name()='aCode']='aaa']
于 2012-05-30T09:59:39.867 に答える
16

これを試して

/a/aCode[text()='aaa']

また

//*[local-name() = 'aCode' and text() = 'aaa']

あなたは//間違った場所で使用しました。

于 2012-05-30T09:45:16.043 に答える
5

この1つの作品:

//*[local-name()='a'][*[local-name()='acode' and text()='a2']]

そしてこれも:

//*[local-name()='a'][aCode[text()='a2']]
于 2014-05-19T00:57:20.127 に答える