中第一次出现我有XML是这样的:XSLT:删除所有,但给定节点
<MyXml>
<RandomNode1>
<TheNode>
<a/>
<b/>
<c/>
</TheNode>
</RandomeNode1>
<RandomNode2>
</RandomNode2>
<RandomNode3>
<RandomNode4>
<TheNode>
<a/>
<b/>
<c/>
</TheNode>
</RandomNode4>
</RandomNode3>
</MyXml>
凡<TheNode>
出现在整个XML,但并不在同一水平,经常在其他节点深。我需要做的是消除所有出现的<TheNode>
除第一个。其余的是多余的,占用空间。 XSL可以做到这一点是什么?
我有这样的事情:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*" />
</xsl:copy>
</xsl:template>
<xsl:template match="//TheNode[position()!=1]">
</xsl:template>
</xsl:stylesheet>
但是,这是不正确的。有什么建议么?
没有必要为起点' //模式中的操作符。 – 2011-01-24 17:57:25