Concat 函数与 XPath 中的字符串

Concat function with strings in XPath

我正在尝试使用 XPath 获取完整地址。我是 XPath 的新手。这是我到目前为止所做的:

<p class="adr" prop1="address">
<span class="street-address" name="streetname">2222 Warnar Ave</span>
<span class="country" name="country">USA, </span>
<span name="State">CA</span>
<span name="zip">1111</span>
</p>

我的 XPath

/p/span/text()

结果如数组:

Text='2222 Warnar Ave'
Text='USA,'
Text='CA'
Text='1111'

而且我想要结果作为一个完整的一行地址

2222 Warnar Ave USA, CA 1111

我在我的 XPath 中使用了 concat() 但没有任何显示!

XPath 1.0 解决方案

concat(/p/span[1],' ',/p/span[2],' ',/p/span[3],' ',/p/span[4])

当然,您可以指定 /p/span[@class='street-address']

而不是 /p/span[1]

XPath 2.0 解决方案

string-join(/p/span, ' ')