dom4j 1.5 读入xml文件丢失注释的问题,盼高手解决!

myy 2004-11-26 09:46:19
SAXReader xr = new SAXReader();
//xr.setIgnoreComments(false);
Document doc= xr.read(new File("E:/MyJava/dom4j_test/Tab.xml"));
...
读取xml文件后,再输出成new.xml,发现原来在Tab.xml中的注释都没有了!
奇怪的是,在程序中创建的Document(故意填加了注释)保存到文件,注释
则不会丢掉。因此我猜测不是输出的问题,而是载入的问题,但是即使加了上面
被注释的哪一行也不管用,是不是还应该设置些什么?
...全文
280 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
myy 2004-12-07
  • 打赏
  • 举报
回复
自己解决了:

SAXReader xr = new SAXReader("org.apache.xerces.parsers.SAXParser");

就行了。
zcjl 2004-11-29
  • 打赏
  • 举报
回复
我这里没有出现楼主描述的情况啊
不过不知道我用的dom4j是否1.5的

测试代码如下:

//dom4jTest.java
public class dom4jTest {

public static void main(String[] args) {
SAXReader xr = new SAXReader();
//xr.setIgnoreComments(false);
Document doc = null;
try {
doc = xr.read(new File("D:/1.xml"));
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
System.out.println(tranToString(doc));
writeToFile(doc, "GB2312", "D:/2.xml");
}

public static String tranToString(Document doc) {
try {
ByteArrayOutputStream byteRep = new ByteArrayOutputStream();
XMLWriter writer =
new XMLWriter(byteRep, new OutputFormat("", false, "UTF-8"));
writer.write(doc);
writer.close();
return byteRep.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

public static void writeToFile(
Document doc,
String encoding,
String path) {
try {
FileWriter fwriter = new FileWriter(path);
XMLWriter writer =
new XMLWriter(fwriter, new OutputFormat("", false, encoding));
writer.write(doc);
writer.close();
} catch (java.io.IOException e) {
e.printStackTrace();
}
}
}


//1.xml
<?xml version="1.0" encoding="GB2312"?>

<student>
<name>Tom</name><!-- comment here -->
<no>001</no>
<school>wust</school>
</student>


//2.xml
<?xml version="1.0" encoding="GB2312"?>
<student>
<name>Tom</name><!-- comment here -->
<no>001</no>
<school>wust</school>
</student>
myy 2004-11-27
  • 打赏
  • 举报
回复
>>读取xml文件后,再输出成new.xml,发现原来在Tab.xml中的注释都没有了!

这里可能会产生误解,改一下:

读取xml文件后,再输出成new.xml,发现原来Tab.xml中的注释,在new.xml中 都没有了!
myy 2004-11-27
  • 打赏
  • 举报
回复
载入 就是指上面的几行xml文件读入生成Document的语句。
classjava 2004-11-26
  • 打赏
  • 举报
回复
??新问题,关注
载入?(不都是字节么?)

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧