将 XML 中的中断元素替换为 XSLT



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

最新更新