请教各位大吓关于DOM4J解析XML的问题
最近用DOM4J解析XML时发现了一个问题,就是当我用Document.asXML()转换字符串时,会自动把XML内的一些标签进行更改。代码如下:
SAXReader reader = new SAXReader();
reader.setEncoding("GBK");
try {
Document doc = reader.read(new FileReader("C:/863202_682578254405_01_20110418154720876119.xml"));
System.out.println(doc.asXML());
}catch(Exception e){
e.printStackTrace();
}
正常输出应该是:
<?xml version="1.0" encoding="GBK"?>
<DATASETS>
<CONTROL>
<OPERATOR>001</OPERATOR>
<REQUESTCOM></REQUESTCOM>......
</DATASETS>
现在输出的则是:
<?xml version="1.0" encoding="GBK"?>
<DATASETS>
<CONTROL>
<OPERATOR>001</OPERATOR>
<REQUESTCOM/>......
</DATASETS>
请走过路过的各位大吓帮我看看怎么解决这个问题吧。
[解决办法]
你确实需要那种格式的话,可以加上格式设置
OutputFormat format = OutputFormat.createPrettyPrint();
format.setExpandEmptyElements(true);