我需要一個XPath來連接所有< NS1:字符串>文本:使用XPath來連接所有子節點
XML:
<ns2:texts>
<ns1:string>ABCD</ns1:string>
<ns1:string>PQRS</ns1:string>
<ns1:string>XYZ</ns1:string>
</ns2:texts>
預期輸出:
ABCD PQRS XYZ
謝謝提前
我需要一個XPath來連接所有< NS1:字符串>文本:使用XPath來連接所有子節點
XML:
<ns2:texts>
<ns1:string>ABCD</ns1:string>
<ns1:string>PQRS</ns1:string>
<ns1:string>XYZ</ns1:string>
</ns2:texts>
預期輸出:
ABCD PQRS XYZ
謝謝提前
在XPath 1.0中不可能,除非你有我有一個固定數量的ns:string
,我認爲這不太可能。在XPath 2.0可以使用string-join()
功能,像這樣:
string-join(//ns1:string, ' ')
輸入:
<ns2:texts xmlns:ns2="foo" xmlns:ns1="bar">
<ns1:string>ABCD</ns1:string>
<ns1:string>PQRS</ns1:string>
<ns1:string>XYZ</ns1:string>
</ns2:texts>
輸出:
ABCD PQRS XYZ
在XPath 1.0,
如果<ns2:texts>
只包含<ns1:string>
元素,你可以使用:
normalize-space(//ns2:texts)
輸出:ABCD PQRS XYZ
見http://www.xpathtester.com/xpath/e4c7a4daf085c56243b803427e90bdfe
啊好主意,我沒有想到這一點 – har07