0
首先,讓我提供示例xml,以便您清楚之後會發生什麼。如何使用XSLT 1.0複製XML中的特定元素
<a>1</a>
<b>1</b>
<c>1</c>
<d>1</d>
<e>1</e>
<f>1</f>
是可以複製節點從a到b和從e到f。我需要忽略節點c和d。
有<xsl:copy>
它可以複製元素,但我需要從原始XML中獲取特定元素。
謝謝。
首先,讓我提供示例xml,以便您清楚之後會發生什麼。如何使用XSLT 1.0複製XML中的特定元素
<a>1</a>
<b>1</b>
<c>1</c>
<d>1</d>
<e>1</e>
<f>1</f>
是可以複製節點從a到b和從e到f。我需要忽略節點c和d。
有<xsl:copy>
它可以複製元素,但我需要從原始XML中獲取特定元素。
謝謝。
確定您可以刪除所需元素。只需在標識轉換後在指定元素上寫入空模板即可。
源XML
<root>
<a>1</a>
<b>1</b>
<c>1</c>
<d>1</d>
<e>1</e>
<f>1</f>
</root>
XSLT 1.0
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:strip-space elements="*"/>
<!-- Identity Transform -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!-- Empty Template to Remove Elements -->
<xsl:template match="c|d"/>
</xsl:stylesheet>
輸出XML
<root>
<a>1</a>
<b>1</b>
<e>1</e>
<f>1</f>
</root>
可替換地,選擇部分icular節點保持:
XSLT 1.0
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:strip-space elements="*"/>
<!-- Root Template Match -->
<xsl:template match="root">
<xsl:copy>
<xsl:apply-templates select="a|b|e|f"/>
</xsl:copy>
</xsl:template>
<!-- Select Particular Elements -->
<xsl:template match="a|b|e|f">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
你的問題不明確。請顯示轉換的預期輸出 - 並且不要在每個節點中使用具有相同值的示例。 –