xml – 用于删除Element的Value的XSLT

前端之家收集整理的这篇文章主要介绍了xml – 用于删除Element的Value的XSLT前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要从元素中删除一个值,但是将元素本身保留在输出 XML中作为空元素.

我的输入文件

  1. <a>
  2. <b>TEXT1
  3. <c>123</c>
  4. <d>qwe</d>
  5. <e>rty</e>
  6. </b>
  7. <b>TEXT2
  8. <c>345</c>
  9. <d>iop</d>
  10. <e>jkl</e>
  11. </b>
  12. </a>

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

  1. <a>
  2. <b>TEXT1
  3. <c></c>
  4. <d>qwe</d>
  5. <e>rty</e>
  6. </b>
  7. <b>TEXT2
  8. <c></c>
  9. <d>iop</d>
  10. <e>jkl</e>
  11. </b>
  12. </a>
XSLT 1.0
  1. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  2. <xsl:output indent="yes"/>
  3. <xsl:strip-space elements="*"/>
  4.  
  5. <xsl:template match="node()|@*">
  6. <xsl:copy>
  7. <xsl:apply-templates select="node()|@*"/>
  8. </xsl:copy>
  9. </xsl:template>
  10.  
  11. <xsl:template match="c">
  12. <c/>
  13. </xsl:template>
  14.  
  15. </xsl:stylesheet>

XML输出

  1. <a>
  2. <b>TEXT1
  3. <c/>
  4. <d>qwe</d>
  5. <e>rty</e>
  6. </b>
  7. <b>TEXT2
  8. <c/>
  9. <d>iop</d>
  10. <e>jkl</e>
  11. </b>
  12. </a>

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

猜你在找的XML相关文章