如何通过XSLT合并列表标记与后续p元素内容为单个p标签输出
XSLT 合并列表符号与内容解决方案
直接替换原有XSLT代码即可实现预期输出:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0"> <xsl:template match="kk"> <xsl:copy> <p> <xsl:value-of select="group[@class='li']/line/t[@style='li'] || ' ' || group[@class='p']/line[1]/t[@style='p']"/> </p> </xsl:copy> </xsl:template> </xsl:stylesheet>
逻辑说明
- 重写根节点
kk的匹配规则,不再递归复制所有子节点,避免保留原有group、line等冗余标签 - 直接通过XPath定位提取两处所需内容:
li分类组下的项目符号、p分类组下第一行的文本内容 - 拼接两处内容后包裹在
<p>标签中输出,完全匹配预期格式要求
内容的提问来源于stack exchange,提问作者Kita Ansari
相关产品推荐
相关产品推荐

