对于下面的XML,我试图根据属性和节点值提取节点 .
基于属性class = pass和h1 contains('goals'),我试图提取下面的输出 .
“目标”是节点值字符串“1任务目标”的一部分
1个任务目标object1 object2
<body>
<article>
<body>
<section>
<h1>intro1</h1>
<region>introd1</region>
<region>introd2</region>
</section>
<section>
<h1 class="pass">1 task objectives</h1>
<region>object1</region>
<region>object2</region>
</section>
</body>
</article>
</body>
下面是我正在尝试的XPath表达式 . 但是,这并没有给出任何结果 . 你能指出我做错了什么吗?
//body//section//h1[contains(.,'objectives') and @class="pass"]/*/text()
谢谢和问候,Simak
2 回答
您正在选择
h1
元素,但仅在其子节点中运行 . 您需要的xpath表达式是:注意
..
,其范围返回到h1
元素的父元素,然后对父母的子元素进行操作 .试试这个: