用XSLT替换xml中的break元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用XSLT替换xml中的break元素相关的知识,希望对你有一定的参考价值。

我有下面的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>
答案

首先你输入错了。它应该与关闭元素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>

以上是关于用XSLT替换xml中的break元素的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 XSLT 替换命名空间中的元素?

用 XSLT 替换 XML 属性中的换行符

xslt 节点替换然后用 javascript 摄取

xslt 2.0 替换为 xml 结构

如何使用xslt插入/替换元素

将 XSLT 转换的 XML 片段写入 XMLStreamWriter