如何用XSLT 1.0将<br/>标签转换为XML 
换行符?
用XSLT 1.0将
<br clear="none"/>替换为XML换行符
 要实现这个需求,你可以通过编写针对性的XSLT模板,匹配目标元素并替换指定标签。以下是完整的XSLT代码示例:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <!-- 匹配p元素,处理其子节点并保留标签结构 --> <xsl:template match="p"> <p> <xsl:apply-templates/> </p> </xsl:template> <!-- 匹配带有clear="none"属性的br标签,替换为换行符 --> <xsl:template match="br[@clear='none']"> <xsl:text>
</xsl:text> </xsl:template> <!-- 默认模板:直接输出所有文本节点内容 --> <xsl:template match="text()"> <xsl:value-of select="."/> </xsl:template> </xsl:stylesheet>
代码说明:
- 第一个模板负责匹配
<p>元素,内部通过<xsl:apply-templates/>触发对其子节点(文本和<br>标签)的处理,同时保留原有的<p>标签结构。 - 第二个模板精准匹配带有
clear="none"属性的<br>标签,用XML换行符
完全替换原标签。 - 第三个模板处理所有文本节点,直接输出文本内容,确保原有的文本部分不受转换影响。
将你的XML输入应用这个XSLT转换后,输出结果为:
<p>line-break test line-break test line-break test</p>
(注:输出中的换行对应
,在XML解析时会被识别为标准换行符)
内容的提问来源于stack exchange,提问作者Seb Mainguet
相关产品推荐
相关产品推荐

