xml – 用于删除Element的Value的XSLT

我需要从元素中删除一个值,但是将元素本身保留在输出 XML中作为空元素.

我的输入文件

<a>
    <b>TEXT1
        <c>123</c>
        <d>qwe</d>
        <e>rty</e>
    </b>
    <b>TEXT2
    <c>345</c>
    <d>iop</d>
    <e>jkl</e>
    </b>
</a>

输出文件应保留元素c,但元素中的数字应该消失.

<a>
<b>TEXT1
    <c></c>
    <d>qwe</d>
    <e>rty</e>
</b>
<b>TEXT2
    <c></c>
    <d>iop</d>
    <e>jkl</e>
</b>
</a>
XSLT 1.0
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output indent="yes"/>
  <xsl:strip-space elements="*"/>

  <xsl:template match="node()|@*">
    <xsl:copy>
      <xsl:apply-templates select="node()|@*"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="c">
    <c/>
  </xsl:template>

</xsl:stylesheet>

XML输出

<a>
   <b>TEXT1
    <c/>
      <d>qwe</d>
      <e>rty</e>
   </b>
   <b>TEXT2
    <c/>
      <d>iop</d>
      <e>jkl</e>
   </b>
</a>

注意:< c />和< c>< / c>是等价的.

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念