我使用了javax.xml.transform.Transformer和javax.xml.transform.TransformerFactory和org.w3c.dom.Element以及org.w3c.dom.Node来根据我的要求创建XML文件。它成功地创建了XML。唯一的问题是:
< MYADDRESS NAME =“AA00001”>
< ATTN1>一种与LT; / ATTN1>
< ADDRESS>< / ADDRESS> //这是空的ADDRESS元素/标记。
< STATE> AA< / STATE>
< ZIP→1< / ZIP>
< / MYADDRESS>
< ADDRESS>< / ADDRESS>在浏览器中显示为< ADDRESS />在像记事本这样的编辑器中,wordpad显示为< ADDRESS>< ADDRESS>。我希望它显示为< ADDRESS />在编辑器中打开文件时也是如此。
有什么想法吗? 谢谢你的帮助!
答案 0 :(得分:1)
您知道,<ADDRESS></ADDRESS>
和<ADDRESS/>
是完全相同的,对吧?浏览器恰好将前者折叠成后者。从XML解析器的角度来看,没有区别。
答案 1 :(得分:0)
我认为您要配置转换以折叠序列化输出中的空元素(如文本文件)。快速浏览一下list of properties显示,没有这样的选项。
所以我认为你必须实现并提供自己的内容处理程序(xalan:content-handler
属性)。也许您可以将默认值子类化,并更改空元素的序列化行为。