1
我有以下几点:删除两位家长在XSL
..
<ContentsNodes>
<Node id="14003"/>
<Node id="13944"/>
<Node id="292"/>
<Node id="8418">
<ChildNodes>
<Node id="8420"/>
<Node id="8421"/>
<Node id="47316">
<ChildNodes>
<Node id="8423"/>
<Node id="8424"/>
<Node id="8425"/>
<Node id="8426"/>
<Node id="8427"/>
<Node id="15682"/>
</ChildNodes>
</Node>
<Node id="55240">
<ChildNodes>
<Node id="8429"/>
<Node id="8430"/>
</ChildNodes>
</Node>
<Node id="8431"/>
<Node id="55241">
<ChildNodes>
<Node id="8433"/>
<Node id="8434"/>
<Node id="8435"/>
<Node id="8436"/>
<Node id="8439"/>
<Node id="8440"/>
<Node id="8441"/>
<Node id="8438"/>
</ChildNodes>
</Node>
<Node id="12977"/>
<Node id="2340"/>
</ChildNodes>
</Node>
</ContentsNodes>
..
我想:
- 摆脱
<Node id="47316">
- 摆脱
<Node id="55240">
- 使两个节点的子节点与
<Node id="8421"/>
处于同一级别。
换句话说:
<ContentsNodes>
<Node id="14003"/>
<Node id="13944"/>
<Node id="292"/>
<Node id="8418">
<ChildNodes>
<Node id="8420"/>
<Node id="8421"/>
<Node id="8423"/>
<Node id="8424"/>
<Node id="8425"/>
<Node id="8426"/>
<Node id="8427"/>
<Node id="15682"/>
<Node id="8429"/>
<Node id="8430"/>
<Node id="8431"/>
<Node id="55241">
<ChildNodes>
<Node id="8433"/>
<Node id="8434"/>
<Node id="8435"/>
<Node id="8436"/>
<Node id="8439"/>
<Node id="8440"/>
<Node id="8441"/>
<Node id="8438"/>
</ChildNodes>
</Node>
<Node id="12977"/>
<Node id="2340"/>
</ChildNodes>
</Node>
</ContentsNodes>
我能够与删除多余的节点:
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="//path/to/Node[3]">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="//path/to/Node[4]">
<xsl:apply-templates/>
</xsl:template>
但我结束了:
<ContentsNodes>
<Node id="14003"></Node>
<Node id="13944"></Node>
<Node id="292"></Node>
<Node id="8418">
<ChildNodes>
<Node id="8420"></Node>
<Node id="8421"></Node>
<ChildNodes>
<Node id="8423"></Node>
<Node id="8424"></Node>
<Node id="8425"></Node>
<Node id="8426"></Node>
<Node id="8427"></Node>
<Node id="15682"></Node>
</ChildNodes>
<ChildNodes>
<Node id="8429"></Node>
<Node id="8430"></Node>
</ChildNodes>
<Node id="8431"></Node>
<Node id="55241">
<ChildNodes>
<Node id="8433"></Node>
<Node id="8434"></Node>
<Node id="8435"></Node>
<Node id="8436"></Node>
<Node id="8439"></Node>
<Node id="8440"></Node>
<Node id="8441"></Node>
<Node id="8438"></Node>
</ChildNodes>
</Node>
<Node id="12977"></Node>
<Node id="2340"></Node>
</ChildNodes>
</Node>
</ContentsNodes>
所以我还是需要删除下的。我如何通过一次转换来做到这一点?
谢谢,我尝试了您建议的第一个XSLT,并像魅力一样工作。 –