我想收到输出:
10.62.197.125, 10.62.197.126, 10.62.197.127.
我该如何实现? (请注意,由于客户限制,代码已被某种方式操纵)。
<output arrayType="ns2:aaa[20]" type="ns2:aaa_array">
<item type="ns2:bbb">
<ip_addr type="xsd:string">0a2ef556</ip_addr>
<hostaddr type="xsd:string">10.62.197.125</hostaddr>
<subnet_name type="xsd:string">Test</subnet_name>
<pool_id type="xsd:string">0</pool_id>
</item>
<item type="ns2:aaa">
<ip_addr type="xsd:string">0a3c3c33</ip_addr>
<hostaddr type="xsd:string">10.62.197.126</hostaddr>
<subnet_name type="xsd:string">Test</subnet_name>
<pool_id type="xsd:string">0</pool_id>
</item>
<item type="ns2:aaa">
<ip_addr type="xsd:string">0a3a72c4</ip_addr>
<hostaddr type="xsd:string">10.62.197.127</hostaddr>
<subnet_name type="xsd:string">Test</subnet_name>
<pool_id type="xsd:string">0</pool_id>
</item>
</output>
答案 0 :(得分:1)
获取元素:
/*/item/hostaddr/text()
结果
10.62.197.125
10.62.197.126
10.62.197.127
获取字符串(由XPath 2.0 +支持):
string-join(/*/item/hostaddr/text(), ', ')
结果
10.62.197.125, 10.62.197.126, 10.62.197.127
这意味着:
在所有项元素中选择hostaddr元素中的文本。
<强>测试强>
您可以通过转到XPath测试器(如this),在选项1中粘贴XML,将表达式粘贴到XPath表达式字段并按下测试XPath按钮来测试。