You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XSLT中xsl:template的异常行为:奇怪输出原因咨询

XSLT模板出现奇怪输出的原因解析

从截图呈现的内容来看,问题根源是XSLT的默认模板规则在起作用:

  • 当你没有为XML文档里的部分节点(比如文本节点、未被自定义模板匹配的元素节点)编写对应模板时,XSLT处理器会自动启用内置的默认模板:
    • 针对元素节点,默认模板会递归处理它的所有子节点
    • 针对文本节点,默认模板会直接输出文本内容
  • 你的XSLT仅匹配了特定目标节点(比如截图里的图书相关节点),但XML中其他未被匹配的文本节点(包括节点间的空白、换行符)被默认模板直接输出,最终导致杂乱的额外内容出现在结果里。

对应的解决思路:

  • 显式添加匹配所有文本节点的空模板,阻断默认输出:
<xsl:template match="text()"/>
  • 或者编写匹配根节点的模板,精准控制要处理的节点范围,避免递归触发默认模板:
<xsl:template match="/">
  <xsl:apply-templates select="你的目标根子节点"/>
</xsl:template>

内容的提问来源于stack exchange,提问作者joudia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 16:15:43