Xpath 在另一个节点中找到一个节点值部分匹配
Xpath find a node value matches in another node partially
我有这个XML:
<ref>
<label>MCLaren, 1996</label>
<year>1997</year>
</ref>
<ref>
<label>Dhanvanth, 2016</label>
<year>2016</year>
</ref>
<ref>
<label>Darwin2 2001</label>
<year>1997</year>
</ref>
如果需要显示与标签不匹配的年份值,我想根据相应标签中的上述标签值“MCLaren,1996”检查年份值“1997”,XPath 中预期的答案
我试过下面的代码:
/ref[descendant::label != descendant::year[contains(text(),'')]]
我不确定,如果我理解你想要的是正确的,但是下面的 XPath:
/root/ref[not(contains(descendant::label/text(), descendant::year/text()))]
returns 所有参考文献,其中年份文本未包含在标签文本中
输出
<ref>
<label>MCLaren, 1996</label>
<year>1997</year>
</ref>
<ref>
<label>Darwin2 2001</label>
<year>1997</year>
</ref>
我有这个XML:
<ref>
<label>MCLaren, 1996</label>
<year>1997</year>
</ref>
<ref>
<label>Dhanvanth, 2016</label>
<year>2016</year>
</ref>
<ref>
<label>Darwin2 2001</label>
<year>1997</year>
</ref>
如果需要显示与标签不匹配的年份值,我想根据相应标签中的上述标签值“MCLaren,1996”检查年份值“1997”,XPath 中预期的答案
我试过下面的代码:
/ref[descendant::label != descendant::year[contains(text(),'')]]
我不确定,如果我理解你想要的是正确的,但是下面的 XPath:
/root/ref[not(contains(descendant::label/text(), descendant::year/text()))]
returns 所有参考文献,其中年份文本未包含在标签文本中
输出
<ref>
<label>MCLaren, 1996</label>
<year>1997</year>
</ref>
<ref>
<label>Darwin2 2001</label>
<year>1997</year>
</ref>