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

使用XSLT 3.0与Saxon PE 11.4控制XML在JSON中的序列化

问题解答

写法合理性判断

你第二种将XML内容嵌入文档节点的文本节点再序列化的写法是合理的。因为要让JSON的xmlData字段里的XML字符串能被外部伪代码直接解析,必须保证XML的特殊字符(<、>、&等)不被JSON序列化逻辑二次转义。直接输出XML节点时,XSLT的输出序列化会把这些字符转义成实体(比如&lt;),最终JSON里的xmlData字段就是带实体的文本,外部解析时拿不到可直接识别的XML结构。而把XML内容转为文本节点后,XSLT会保留原始特殊字符,输出成JSON字符串时就能得到符合要求的、未被额外转义的XML内容。

潜在隐患分析

当前写法能解决问题,但有几个需要留意的点:

  • XML结构完整性风险:如果原XML包含CDATA段、处理指令或注释,转为文本节点时可能丢失部分结构信息,若业务场景涉及这类内容,得提前做兼容性处理。
  • 字符编码问题:若原XML使用非UTF-8编码,嵌入文本节点时可能出现编码转换错误,导致最终JSON里的XML字符串乱码,要确保XSLT处理的编码和外部解析环境一致。
  • 性能影响:如果XML内容体积庞大,先转文本节点再序列化会增加内存占用和处理时间,大文件场景下需评估性能是否达标。
  • JSON边界冲突:若XML内容里包含JSON字符串的边界符(比如双引号"),会破坏JSON结构,这种情况要提前对XML里的双引号做转义(比如换成\"),否则外部解析JSON时会报错。

内容的提问来源于stack exchange,提问作者MrD at KookerellaLtd

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 04:44:54