繁体   English   中英

使用XSLT删除空的注释标签

[英]Remove empty comment tags using XSLT

我有一个输入XML的形式

<A>
  <B></B>
  <!---->
  <C></C>
</A>

我正在使用XSL转换此XML,但是当我解析此XML时,出现以下错误消息

“序列化文件java.lang.ArrayIndexOutOfBoundsException时出错:-1基本异常”

我已经在XSL中包含以下命令,仍然出现相同的错误

<xsl:template match="comment()"/>

请帮忙!

TIA :)

尝试:

  <xsl:template match="comment()[.='']"/>

样本XML:

<?xml version="1.0" encoding="utf-8"?>
<root>
  <!---->
  <!--above comment line should be deleted-->
  <foo>
    <!--fooo data-->
    <foobar/>
  </foo>
</root>

输入XSLT:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="@* | node()">
        <xsl:copy>
            <xsl:apply-templates select="@* | node()"/>
        </xsl:copy>
    </xsl:template>
  <xsl:template match="comment()[.='']"/>
</xsl:stylesheet>

输出:

<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--above comment line should be deleted-->
  <foo>
    <!--fooo data-->
    <foobar />
  </foo>
</root>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM