黑马程序员技术交流社区

标题: XML写入不进去 [打印本页]

作者: 韩慧阳    时间: 2012-7-14 15:07
标题: XML写入不进去
本帖最后由 韩慧阳 于 2012-7-14 15:51 编辑

public class Tool {
private String url;
public Tool(String url){
this.url=url;
}
public Document getDocument(){
try {
DocumentBuilder db=DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document=db.parse(url);
return document;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}


}
public void Write() {
try {
Transformer tf=TransformerFactory.newInstance().newTransformer();
tf.transform(new DOMSource(getDocument()), new StreamResult(url));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}
同志们帮我看看代码  这样写问题出在哪里啊??
在写入XML的时候失败,问题应该是出在Write里面


作者: 温少邦    时间: 2012-7-14 15:24
tf.transform(new DOMSource(getDocument()), new StreamResult(url));
在写xml的时候,这里你用的getDocument()方法
这个方法是根据你的url去找到了一个xml文档
并创建了一个新的Document对象
所以你每次写的时候都是把url对应的那个xml
按原来的样子重新写了一遍

Document对象应该在Tool类构造时创造
每次getDocument都返回这个Document


作者: 韩慧阳    时间: 2012-7-14 15:50
明白了!!酷!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2