我在XML文件中有以下数据
<attachment name="data.pdf" size="104302">
DATA
</attachment>
我想将完整的东西提取到新的xml中,但我只是
<attachment>
DATA
</attachment>
我的xslt文件有
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="utf-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<xsl:for-each select="//attachment" >
<xsl:copy>
<xsl:apply-templates select="node()" />
</xsl:copy>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
非常感谢任何帮助!
答案 0 :(得分:1)
select="node()"
不包含属性,仅包含子节点(元素,文本节点,注释和处理指令)。但是用
for-each
会更简单
<xsl:copy-of select="//attachment" />
但请注意,如果原始输入中有多个attachment
元素,则不会生成格式良好的XML输出,因为结果中最终会有多个根级元素