我想使用XPath从列表中的所有<li>元素中提取所有文本,specialList并返回一个以空格或逗号分隔的字符串.这可能吗?
可以说DOM包含以下HTML:
<ul class="specialList">
<li>one</li>
<li>two</li>
<li>three</li>
<li>four</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
期望的输出
one, two, three, four
Run Code Online (Sandbox Code Playgroud)
要么
one two three four
Run Code Online (Sandbox Code Playgroud)
在XPath 1.0中,只有在事先知道元素数量时才可以使用concat(...):
concat(//li[1], ', ', //li[2], ', ', //li[3], ', ', //li[4])
Run Code Online (Sandbox Code Playgroud)
如果幸运的话,您可以返回所有结果字符串,//li/text()并设置XPath处理器的输出参数,以便根据需要连接它们.这取决于处理器,因此没有通用解决方案,如果您想在XPath中进一步处理结果,则无法继续.
在XPath 2.0中,您可以使用fn:string-join($sequence, $delemiter)任意长度的输入:
fn:string-join(//li, ', ')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7079 次 |
| 最近记录: |