如何提取的價值/substance/text和/makers/text?
我期待結果是
- 自動化
- 測驗記錄
我嘗試了很多東西,例如:
//*[local-name()='text/@value']//*[local-name()='substance']/text/text()//*[local-name()='name'][1]
(這適用于名字元素,但如果我使用類似的文本,它就不起作用。)//*[local-name()='text/@value'][1]//*[local-name()='text'][1]
<health xmlns="http://test.com/sample">
<substance>
<name>substance</name>
<text value="Automation"/>
</substance>
<user>
<reference value="User/111111122"/>
</user>
<reaction>
<makers>
<name>makers</name>
<text value="Test Record"/>
</makers>
</reaction>
</health>
uj5u.com熱心網友回復:
這個 XPath,
//*[local-name()='text']/@value
將選擇檔案value中所有text元素的所有屬性,而不管名稱空間如何。
請注意,考慮命名空間比以這種方式擊敗它們更好。請參閱XPath 如何處理 XML 名稱空間?
不作業?
提供的 XPath 確實選擇了這兩個@value屬性。如果您只看到一個,很可能是因為您將結果傳遞給 XPath 1.0 函式,該函式需要一個值,并被定義為在傳遞多個值時選擇節點集的第一個成員。請參閱為什么 XPath 運算式僅選擇第一個元素的文本?
還是行不通?
以下是單獨而不是集體選擇值的兩個選項:
(//*[local-name()='text']/@value)[1](//*[local-name()='text']/@value)[2]//*[local-name()='substance']/*[local-name()='text']/@value
//*[local-name()='makers']/*[local-name()='text']/@value
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/389421.html
上一篇:帶有多個標簽的XML
