我對XPATH相當陌生,當某個節點等於兩個值之一時,需要從多個XML對象返回一個值。該解決方案還需要使用local-name()作爲名稱空間不可知的。鑑於以下XML,我期待返回「A」等於「4」或「5」的所有「B」值。XPATH:使用通配符命名空間選擇多個記錄
<?xml version="1.0"?>
<element>
<A>3</A>
<B>Value 1</B>
</element>
<element>
<A>4</A>
<B>Value 2</B>
</element>
<element>
<A>5</A>
<B>Value 3</B>
</element>
我曾嘗試下面的表達式的多次反覆,但似乎無法得到正確的語法,當我嘗試添加第二個值「A」。我似乎無法弄清楚「或」表達式的正確語法。我也考慮過使用聯合,並且無法獲得正確的語法。
這適用於何時「A」等於單個值「4」,但如何爲「5」值添加測試,以便結果返回兩個值「B」(「值2」和「價值3」)?
//*[local-name()='element'][*[local-name()='A']='4']/*[local-name()='B']/text()
謝謝。任何幫助將非常感謝!
有沒有強迫你使用的命名空間,不知道XPath的具體原因' – Tomalak
從我被告知,正在生成主機XML並不總是爲數據提供相同的名稱空間。但是,到目前爲止,我只看到一個名稱空間名稱,所以我開始認爲這是不準確的信息。 – MNOPups