在xsl中的标记之间拆分文本

时间:2016-02-22 08:06:21

标签: xml xslt

我有一个结构如下的xml。

singleTop

输出应该遵循

<p>Simple XML will return a reference to an <i>object</i> containing: <quote><p>the node value and you cant use references in session variables</p></quote> as there is <b>no feasible</b> way to restore a reference to another variable.</p>

如何重点分割标签。 提前谢谢。

1 个答案:

答案 0 :(得分:2)

如果你想用XSLT做,这是一个可能的解决方案:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    exclude-result-prefixes="xs"
    version="2.0">

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

    <xsl:template match="quote">
        <xsl:text disable-output-escaping="yes"><![CDATA[</p>]]></xsl:text>
        <blockquote><xsl:apply-templates select="@*|node()"/></blockquote>
        <xsl:text disable-output-escaping="yes"><![CDATA[<p>]]></xsl:text>
    </xsl:template>

    <xsl:template match="quote/p">
        <xsl:value-of select="."/>
    </xsl:template>

</xsl:stylesheet>