Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 如何使用xslt删除不需要的标记_Xml_Xslt_Xslt 1.0_Xslt 2.0 - Fatal编程技术网

Xml 如何使用xslt删除不需要的标记

Xml 如何使用xslt删除不需要的标记,xml,xslt,xslt-1.0,xslt-2.0,Xml,Xslt,Xslt 1.0,Xslt 2.0,这是文本 这是文本 输出必须是: <para> <p> This is text </p> <p/> <p/> <p> This Is text </p> </para> 这是文本 这是文本 我想删除这个“”标记,我如何使用xslt来删除它? <para> <p> This

这是文本

这是文本

输出必须是:

<para>
    <p>
        This is text
    </p>
    <p/>
    <p/>
    <p>
        This Is text
    </p>
</para>


这是文本

这是文本

我想删除这个“

”标记,我如何使用xslt来删除它?


<para>
<p>
This is text
</p>
<p>
This Is text
</p>
</para>

在阅读了我的一些书籍并理解了@torazaburo指令之后,问题解决了。

您应该阅读编写XSLT的基本方法,该方法通过一些转换将输入复制到输出。在这种情况下,您需要一个模板,该模板匹配一个空的
p
元素,并且不执行任何操作(意味着不输出任何内容,意味着它将被“删除”)。您已经问了两次这个问题。我在不同的线程中问过它
  <xsl:strip-space elements="*"/>
 <xsl:template match="node()|@*">
        <xsl:copy>
            <xsl:apply-templates select="node()"/><!--Remove all the attributes-->
        </xsl:copy>
    </xsl:template>

<xsl:template match="*[not(node())]" />