考虑到你有以下xml内容,所以我需要xpath表达式只返回重复自身的节点
<A1>
<NAME>A</NAME>
<QTY>1</QTY>
</A1>
<A1>
<NAME>A</NAME>
<QTY>2</QTY>
</A1>
<A2>
<NAME>B</NAME>
<QTY>3</QTY>
</A2>
<A1>
<NAME>A</NAME>
<QTY>5</QTY>
</A1>
<A2>
<NAME>b</NAME>
<QTY>8</QTY>
</A2>
<A3>
<NAME>b</NAME>
<QTY>8</QTY>
</A3>
disire输出是这样的: A1 A2
答案 0 :(得分:0)
你可以尝试
<xsl:for-each select="*">
<xsl:variable name="name" select="name()"/>
<xsl:if
test="count(preceding-sibling::*[name() = $name]) = 0 and count(following-sibling::*[name() = $name]) != 0">
<xsl:value-of select="name()"/>
<xsl:text> </xsl:text>
</xsl:if>
</xsl:for-each>
答案 1 :(得分:0)
查找节点,使得前面的兄弟姐妹具有相同的名称
columns_names_used = ['example3', 'example5']
为了避免输出中的dublicates你可以添加一个条件,在兄弟之后不是这样的
//*[name() = preceding-sibling::*/name()]