我想要一个XSLT程序,它将以一种从根节点的所有子节点(直到深层(读取/提取所有属性并复制到父节点的方式转换XMl文件。然后删除所有子节点。 输入 xml
enter code here
<root>
<a key="1"/>
<b key1="2">
<c key3="3"/>
</b>
</root>
输出 XML 将是这样的:
<root key="1" key1="2" key3="3" />
你可以很简单地做:
XSLT 1.0
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/root">
<xsl:copy>
<xsl:copy-of select="//@*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
但是,一个元素不能有两个同名的属性。如果 XML 具有同一属性的多个实例,则它们将相互覆盖,并且输出中仅存在最后一个实例。