要保持XML转换时的空白字符,需在解析、处理和输出三环节主动配置:首先设置解析器保留空白节点,如DOM中setIgnoringElementContentWhitespace(false);其次在XSLT中使用xsl:preserve-space声明需保留空白的元素,避免xsl:strip-space;最后通过xsl:output设置indent="no"防止输出重排,并用xsl:copy-of或xsl:text精确控制文本节点输出,避免normalize-space等函数破坏原始格式。

XML转换时默认会忽略大部分空白字符,要保持源文档中的空白和格式,关键在于控制解析器行为和XSLT处理逻辑。
大多数XML解析器(如Java的DOM、SAX,或.NET的XmlDocument)默认会丢弃“无关空白”(即元素间用于缩进和换行的空格、制表符、回车)。需显式启用保留:
XSLT本身不自动保留所有空白,但可通过 xsl:preserve-space 明确指定哪些元素的内容应保留空白:
即使输入空白被保留,XSLT处理器默认输出仍可能重新格式化。需配置输出方法:
XSLT中直接用
基本上就这些。核心是分清“输入保留”“处理不破坏”“输出不重排”三个环节,每步都需主动配置,不能依赖默认行为。
以上就是在进行XML转换时,如何保持源文档中的空白和格式?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号