XSLT:我是XSLT的新手。我必须复制XML的完整节点,不包括该节点的第一个子节点。例如:输入
<root id="123456789">
<userid></userid>
<fname></fname>
<lname></lname>
<age></age>
</root>
Output should be:
<root id="123456789">
<fname></fname>
<lname></lname>
<age></age>
</root>
Please suggest how to achieve this. Thanks in advance
答案 0 :(得分:0)
此转化:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/*/*[1]"/>
</xsl:stylesheet>
应用于提供的XML文档:
<root id="123456789">
<userid></userid>
<fname></fname>
<lname></lname>
<age></age>
</root>
会产生想要的正确结果:
<root id="123456789">
<fname/>
<lname/>
<age/>
</root>
<强>解释强>:
正确使用和覆盖 identity rule 。