我是xslt的新手。 我想获得匹配子节点的父节点(以...结尾)
示例XML:
可以包含父标记
之前和之后的元素这里的结果应该是“父母” 查询:查找子元素的第一个父元素名称以smile结尾(“endwithsmile”)
我能够获得包含(“endswithsmile”)的元素,但不能以。 结束 - 不起作用。
<xsl:value-of select="(//*[contains(local-name(), 'Identifier')])"/>
我也尝试使用“../”来获得父母但没有工作。
以上问题的示例xml :::
<parent>
<childendwithsmile>
<test></test>
</childendwithsmile>
</parent>
<parent1>
<childendwithsmile>
<test></test>
</childendwithsmile>
</parent1>
答案 0 :(得分:0)
试试这个XPath:
//*[substring(name(), string-length(name()) - string-length('smile') + 1) = 'smile']/..
答案 1 :(得分:0)
@ Kiril的回答应该有效,但我更喜欢这种基于孩子选择父母的方法,而不是选择孩子并回到树上:
//*[*[substring(name(), string-length(name()) - string-length('smile') + 1) = 'smile']]