我想使用标识模板来转换 XML-> XML,同时排除某些节点。
这些节点将位于文档的不同级别 - 下面的 XML 示例:
<root>
. <item1>
. <contents>
. <fieldA/>
. ...
. <fieldZ/>
. </contents>
. </item1>
. <item2>
. <field1/>
. ...
. <field9/>
. </item2>
</root>
例如,我只想包含“root/item1/contents”中的“fieldC”和“root/item2”中的“field2”。
我的 XSLT 在下面。它不起作用,我认为是因为我不包含要包含的字段的父元素?但我不确定我该怎么做......
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="xml" indent="yes" />
. <xsl:strip-space elements="*"/>
. <xsl:template match="@* | node()">
. <xsl:copy>
. <xsl:apply-templates select="@* | node()" />
. </xsl:copy>
. </xsl:template>
.
. <xsl:template match="fieldC|field2">
. <xsl:element name="{name()}">
. <xsl:value-of select="text()" />
. </xsl:element>
. </xsl:template>
</xsl:stylesheet>
如果有人可以提供帮助,将不胜感激。
谢谢。