How to transform some tags to another using XSLT

2019-08-02 04:07发布

I have the following xml:

<box>
   <title>bold text</title>
   some text
</box>

and the following xsl:

<xsl:template match="box">
    <p style="background:red;">
        <xsl:apply-templates/>
    </p>
</xsl:template>

<xsl:template match="title">
    <p style='background:green;'>
        <xsl:apply-templates/>
    </p>
</xsl:template>

And I got following:

<p style="background:red;"> </p>
<p style="background:green;">bold text</p>
some text
<p></p>

But I want following:

<p style="background:red;">
   <p style="background:green;">bold text</p>
   some text
</p>

How do I do this?

1条回答
Lonely孤独者°
2楼-- · 2019-08-02 04:43

When I run this xslt/xml I get this result:

XSLT:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="box">
    <p style="background:red;">
        <xsl:apply-templates/>
    </p>
  </xsl:template>

  <xsl:template match="title">
    <p style='background:green;'>
        <xsl:apply-templates/>
    </p>
  </xsl:template>
</xsl:stylesheet>

Xml Output:

<?xml version="1.0"?>
<p style="background:red;">
   <p style="background:green;">bold text</p>
   some text
</p>

This is what you want correct?

查看更多
登录 后发表回答