用XSLT替换xml中的break元素

问题描述 投票:-2回答:1

我有下面的XML,我想使用XSLT转换为HTML

<richtext >

<par def="2">
    <run>
        <font size="12pt" name="serif" />A<break />B<break /></run>
</par>

我想要HTML输出,如下所示

<p> A<br>B<br><p>
xml xslt
1个回答
0
投票

首先你输入错了。它应该与关闭元素richtext。这里有答案:

<?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="1.0">

    <xsl:output indent="yes" method="xhtml"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="/">
        <html>
            <head></head>
            <body>
                <xsl:apply-templates/>
            </body>
        </html>
    </xsl:template>

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

    <xsl:template match="break">
        <br><xsl:apply-templates/></br>
    </xsl:template>

</xsl:stylesheet>

输出就像:

<html>
   <head></head>
   <body>
      <p>A
         <br></br>B
         <br></br>
      </p>
   </body>
</html>

https://xsltfiddle.liberty-development.net/jyH9rMD

© www.soinside.com 2019 - 2024. All rights reserved.