我需要一个XPath来连接所有< ns1:string>文本:
XML:
<ns2:texts>
<ns1:string>ABCD</ns1:string>
<ns1:string>PQRS</ns1:string>
<ns1:string>XYZ</ns1:string>
</ns2:texts>
预期产出:
ABCD PQRS XYZ
提前致谢
答案 0 :(得分:3)
在XPath 1.0中,
如果<ns2:texts>
仅包含<ns1:string>
个元素,您可以使用:
normalize-space(//ns2:texts)
输出:ABCD PQRS XYZ
请参阅http://www.xpathtester.com/xpath/e4c7a4daf085c56243b803427e90bdfe
答案 1 :(得分:1)
在XPath 1.0中不可能,除非你有一个固定数量的var promise = asyncmethod(some_var);
promise.then(function (sv) {
console.log(sv + ' Yes it worked');
}, function (em) {
console.log(sv + ' No it failed');
});
,我认为不太可能。在XPath 2.0中,您可以使用ns:string
函数,如下所示:
string-join()
<强> xpathtester demo
强>
输入:
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>