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

如何使用XSLT按需保留XML节点间的空格

解决XSLT保留节点间原始空格的问题

要实现仅保留节点间原本存在的空格,核心是精准保留<Name>节点下的原始空白文本节点,不做自动合并或过滤。

可用XSLT代码

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <!-- 全局忽略无关空白节点,但指定Name节点下的空白要保留 -->
  <xsl:strip-space elements="*"/>
  <xsl:preserve-space elements="Name"/>

  <xsl:template match="Name">
    <!-- 直接输出Name节点的所有文本内容,包含原始空格 -->
    <xsl:value-of select="."/>
  </xsl:template>
</xsl:stylesheet>

代码解释

  • <xsl:strip-space elements="*"/>:默认忽略大多数元素里的换行、缩进这类无关空白,避免干扰最终结果。
  • <xsl:preserve-space elements="Name"/>:专门指定<Name>节点下的空白节点需要保留,这样<FirstName>和<LastName>之间的空格会被当作有效文本保留下来。
  • <xsl:value-of select="."/>:提取<Name>节点的所有文本内容,包括两个子节点的文本以及它们之间的原始空格(如果存在)。

测试效果

输入1(节点间有空格)

<Name>
  <FirstName>A</FirstName> <LastName>B</LastName>
</Name>

输出:A B

输入2(节点间无空格)

<Name>
  <FirstName>A</FirstName><LastName>B</LastName>
</Name>

输出:AB

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 21:40:19