javax的java问题。xml。使改变变压器空元素未在编辑器中正确显示,但在浏览器中正确显示
我用过javax。xml。使改变Transformer和javax。xml。使改变TransformerFactory和org。w3c。多姆。元素和组织。w3c。多姆。节点根据我的要求创建XML文件。它成功地创建了XML。唯一的问题是:
<;MYADDRESS NAME=“AA00001”>
<;附件1>;a</附件1>
<;地址></地址>//这是空的地址元素/标记
<;国家>;AA</国家>
<;拉链>;1</拉链>
</MYADDRESS>
这个<;地址></地址>;在浏览器中显示为<;地址/>;其中,在编辑器(如记事本)中,写字板显示为<;地址>&书信电报;地址>;。我希望它显示为<;地址/>;当文件在编辑器中打开时
有什么想法吗? 谢谢你的帮助
# 1 楼答案
您知道
<ADDRESS></ADDRESS>
和<ADDRESS/>
是相同的,对吗?浏览器恰好将前者折叠为后者。从XML解析器的角度来看,没有区别# 2 楼答案
我认为您需要将转换配置为折叠序列化输出(如文本文件)中的空元素。快速查看一下list of properties显示,没有这样的选项
因此,我认为您必须实现并提供自己的内容处理程序(
xalan:content-handler
属性)。也许您可以将默认元素子类化,并更改空元素的序列化行为