根据不包含特定值的后代元素选择元素列表

时间:2019-04-01 20:16:39

标签: xml xslt xpath

我试图根据嵌套在我需要选择的元素深处的值来选择元素列表。该值可能包含也可能不包含关键字,如果包含,则我需要忽略该元素,但继续获取其余部分。

我已经浏览了在这里找到的各种示例,但似乎都没有用。我相信我走在正确的道路上,但是一路弄乱了我的XPath。我需要编译其后代“引用”不包含“ fakeResult”作为其值一部分的所有“ entry”元素的列表。我知道我的XPath可以获取所有“输入”元素的列表,但除此之外,它会停止工作并完全消除错误。

<xsl:variable name="results" select="//code[@code='XXX']/ancestor::section/entry[organizer/component/observation/text/reference[not(contains(@value, 'fakeResult']]"/>

1 个答案:

答案 0 :(得分:0)

  

我需要编译所有其“ entry”元素的列表   后代“引用”不包含“ fakeResult”作为其一部分   值。

从您的表达出发,我认为您的意思是写value的值时名为reference的属性。考虑到这一点:

//entry[not(.//reference[contains(@value,'fakeResult')])]