1
我很難查詢數據元素值的值,當屬性爲xmlns =「...」這是父母的元素。 以下示例是SOAP響應的一部分,我想通過使用XPATH獲取其名字和姓氏的值。/PartyInq_v2Response/PartyInq_v2Rs_Type/* [local-name()=「person」]/firstName'。但它什麼都不返回。如果我在查詢之前從xml中刪除所有 xmlns =「...」,它可以返回值。有誰知道如何直接從示例中查詢名字?當數據元素具有屬性時,無法使用XPath查詢** xmlns =「...」**
<PartyInq_v2Response xmlns="urn:Somewhere.Int" xmlns:q2="http://SomewhereOps.v20120719" xmlns:q10="http://SomewhereTypes.v20120719.GenericTypes">
<PartyInq_v2Rs_Type>
<q2:person>
<firstName xmlns="http://SomewhereTypes.v20120719.Types">somebody</firstName>
<lastName xmlns="http://SomewhereTypes.v20120719.Types">nobody</lastName>
</q2:person>
</PartyInq_v2Rs_Type>
</PartyInq_v2Response>
感謝
魯
謝謝你的幫助。我正在使用XMLSpy進行測試。有沒有辦法忽略名稱空間,而不是在xlst中定義它們?因爲我們正在使用一種工具來生成SOAP模式,該模式將用於創建SOAP響應消息。每當我們重新創建這些模式時,內部命名空間(例如q10,q2)在重新生成模式期間可能會不同,即,即, q10更改爲q20。這將很難在我的xslt中定義(硬編碼)命名空間。 – Yadong 2013-05-03 19:48:46
只是改變了前綴還是url?如果ony前綴被改變,這並不重要。如果URL已更改,則可以使用本地名稱。 (請參閱更新。) – 2013-05-03 20:20:10
謝謝hr_117 :)但是,只要xmlns = blabla屬性爲XML,至少在XMLSPy中,Local-name()不起作用。這就是爲什麼我在這裏發佈問題。如果我刪除這些屬性,不管有沒有前綴,它都可以工作。所以也許我應該使用你給我看的第一個。 – Yadong 2013-05-03 21:02:31