2017-06-21 102 views
1
<Tag1> 
<dummy><name>qwert</name><id>123</id></dummy> 
<dummy><name>wert</name><id>023</id></dummy> 
<dummy><name>hfj</name><id>103</id></dummy>  
</Tag1> 

我具有上述XML爲此,我想要去除中相應的XML輸出文件地帶使用XML標籤的XSLT

希望的O/P:

<Tag1> 
<name>qwert</name><id>123</id> 
<name>wert</name><id>023</id> 
<name>hfj</name><id>103</id> 
</Tag1> 

另外我嘗試使用下面XSLT

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output omit-xml-declaration="yes" indent="yes"/> 

<xsl:template match="node()|@*"> 
<xsl:copy> 
<xsl:apply-templates select="node()|@*"/> 
</xsl:copy> 
</xsl:template> 

<xsl:template match="dummy"/> 
</xsl:stylesheet> 

它移除,以及一切它的下面

回答

1

你需要做的這個代替,以保證dummy孩子們仍然選擇

<xsl:template match="dummy"> 
    <xsl:apply-templates /> 
</xsl:template> 

編輯:下面是完整的電子表格

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="xml" omit-xml-declaration="yes" /> 

    <xsl:template match="node()|@*"> 
    <xsl:copy> 
     <xsl:apply-templates select="node()|@*"/> 
    </xsl:copy> 
    </xsl:template> 

    <xsl:template match="dummy"> 
    <xsl:apply-templates /> 
    </xsl:template> 
</xsl:stylesheet> 
+0

我用'code'的 code'。但是它會去掉所有標籤,我的輸出現在是qwert和123分開的行 – tradersjoe

+0

@tradersjoe保留* identity變換*模板(您的第一個模板)並用上面建議的模板替換第二個模板(與'dummy'匹配的一個) 。 –

+0

@tradersjoe - 我編輯了我的答案以顯示完整的樣式表 –