使用xslt基于子元素转换xml

时间:2016-07-04 19:43:05

标签: xml xslt xpath

我的xml包含两个案例

案例1:

self.bHeight = 24;

案例2:

<section>
            <title>Order Sections</title>
            <para>This function describes. </para>
</section>

我希望输出为:

案例1:

<section>
            Band mode is Order
            <p outputclass="termtesttext">In this case a fixed order bandwidth.</p>
        </section>

案例2:

<division>
                <title>Order Sections</title>
                <para>This function describes. </para>
    </division>

我在开始时使用了身份变换来复制一切。

1 个答案:

答案 0 :(得分:1)

这对你有用吗?

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>

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

<xsl:template match="section">
    <division>
        <xsl:apply-templates select="node()"/>
    </division>
</xsl:template>

<xsl:template match="section/text()">
    <title>
        <xsl:value-of select="normalize-space(.)"/>
    </title>
</xsl:template>

<xsl:template match="section/p">
    <para>
       <xsl:apply-templates/>
    </para>
</xsl:template>

</xsl:stylesheet>