假设我有一个像这样的HTML:
sudo /opt/bitnami/ctlscript.sh restart redis
我想输出:
<node>
<child class="color" id="red"></child>
</node>
<node>
<child class="ok"></child>
</node>
<node>
<child class="ok"></child>
</node>
<node>
<child class="color" id="blue"></child>
</node>
<node>
<child class="ok"></child>
</node>
也就是说,生成red
red
blue
<child>
个COLOR节点的信息
我尝试了什么:
class="ok"
直觉地认为每个孩子都会得到一个“节点#”节点“ok”,但它不起作用。
答案 0 :(得分:0)
据我所知,使用纯XPath 1.0无法做到这一点。使用支持FLWOR的更高版本的XPath,您可以执行以下操作:
for $node in //node[child/@class='ok']
return $node/preceding-sibling::node[child/@id][1]/child/@id
<强> demo
强>
输出
red
red
blue