You need to enable JavaScript to run this app. JDOM2 如何禁止无内容的XML元素输出为自闭合标签?
优惠活动
大模型
产品
解决方案
定价
更多

JDOM2 如何禁止无内容的XML元素输出为自闭合标签?

解决方案

可以通过JDOM2内置的输出格式配置直接实现,无需修改业务层的元素填充逻辑。
JDOM2默认会将无任何子节点、文本内容的空元素输出为自闭合标签,可通过Format类的专属配置项切换该行为。

代码修改位置

找到原有代码中初始化输出格式的逻辑:

XMLOutputter outter=new XMLOutputter();
outter.setFormat(Format.getPrettyFormat());

调整为以下内容即可:

XMLOutputter outter = new XMLOutputter();
Format outputFormat = Format.getPrettyFormat();
// 开启空元素展开配置,禁止自闭合输出
outputFormat.setExpandEmptyElements(true);
outter.setFormat(outputFormat);

效果说明

  • 该配置全局生效,所有没有内容的空元素都会输出为成对的开闭标签,完全匹配后续手动填充内容的格式需求。
  • 如果仅需要特定元素展开、不希望全局生效,也可以单独给目标元素添加空文本节点,例如对changeSetElement执行changeSetElement.addContent("");,但这种方式会引入冗余的空白节点,优先推荐使用格式配置的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.31 09:06:04