3

行。使用 XSLT 复制 XML 文件并创建精确副本但没有任何值是否容易。基本上我只想要布局。IE

<rootnode lang="EN">
    <child1>Hello</child1>
    <child2>
        <child2_1>hello</child2_1>
    </child2>
</rootnode>

和输出

<rootnode lang="">
    <child1></child1>
    <child2>
        <child2_1></child2_1>
    </child2>
</rootnode>
4

1 回答 1

3

身份规则的这个简单修改

<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="@*">
  <xsl:attribute name="{name()}" namespace="{namespace-uri()}"/>
 </xsl:template>
 <xsl:template match="text()"/>
</xsl:stylesheet>

应用于提供的 XML 文档时

<rootnode lang="EN">
    <child1>Hello</child1>
    <child2>
        <child2_1>hello</child2_1>
    </child2>
</rootnode>

产生想要的正确结果:

<rootnode lang="">
   <child1/>
   <child2>
      <child2_1/>
   </child2>
</rootnode>
于 2012-09-27T14:15:05.643 回答