+ -
当前位置:首页 → 问答吧 → 请教各位大吓关于DOM4J解析XML的问题

请教各位大吓关于DOM4J解析XML的问题

时间:2011-04-20

来源:互联网

最近用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>



请走过路过的各位大吓帮我看看怎么解决这个问题吧。

作者: wwwblike2   发布时间: 2011-04-20

<REQUESTCOM></REQUESTCOM>和<REQUESTCOM/>是一样的。
并且完全不影响你的读写操作。

作者: cds27   发布时间: 2011-04-21

你确实需要那种格式的话,可以加上格式设置
OutputFormat format = OutputFormat.createPrettyPrint();  
format.setExpandEmptyElements(true);

作者: cds27   发布时间: 2011-04-21