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,並像魅力一樣工作。 –