我想使用XPath从所有 <li>
元素中提取所有文本,这些元素位于 specialList
列表中,并返回一个以空格或逗号分隔的字符串 . 这可能吗?
可以说DOM包含以下HTML:
<ul class="specialList">
<li>one</li>
<li>two</li>
<li>three</li>
<li>four</li>
</ul>
期望的输出
one, two, three, four
要么
one two three four
2 回答
在 XPath 1.0 中,仅当您使用
concat(...)
预先知道元素数量时才可以这样做:如果幸运的话,您可以返回
//li/text()
的所有结果字符串,并设置XPath处理器的输出参数以便按照您的需要连接它们 . 这取决于处理器,因此没有通用解决方案,如果您想在XPath中进一步处理结果,则无法继续 .在 XPath 2.0 中,您可以使用
fn:string-join($sequence, $delemiter)
进行任意长度的输入:虽然这可能使用XSLT 1.0