永发信息网

java DOM XML appendChild没用啊。

答案:1  悬赏:40  手机版
解决时间 2021-02-14 23:14
  • 提问者网友:了了无期
  • 2021-02-14 00:12
原来list中已经有node了。
Element name = doc.createElement("s_qweqwe");
name.setTextContent("11111111");
root.appendChild(name);
我在这下面输出list.getLength()的值还是原来的值,说明这个节点没有添加进去,求大牛解决啊。
谢谢了 ,我找到我的问题了,appendChild没问题,是我list上的问题,还是谢谢
最佳答案
  • 五星知识达人网友:神也偏爱
  • 2021-02-14 00:33
写入xml可以分成部分,前一部分是dom解析器的,中间是创建结点,后一部分是将数据写入xml,给的例子是我以前写的,注释加上了。appendChild是没问题的。

public static void writeXml(){
//定义一个dom解析器工厂实例

DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
try {
//由工厂实例得到一个dom解析器

DocumentBuilder documentBuilder=factory.newDocumentBuilder();
//找到xml文档

File file=new File("src/com/jereh/ch05/Students.xml");
Document document=documentBuilder.parse(file);
//得到根节点

Element root=document.getDocumentElement();
//
Element element1=document.createElement("student");
root.appendChild(element1);
element1.setAttribute("id", "004");
//
Element elementname=document.createElement("name");
elementname.setTextContent("yexiang");
element1.appendChild(elementname);
//
Element elementage=document.createElement("age");
elementage.setTextContent("23");
element1.appendChild(elementage);

//工厂

TransformerFactory tr=TransformerFactory.newInstance();
Transformer t=tr.newTransformer();
DOMSource sourse=new DOMSource(document);
StreamResult result=new StreamResult(file);
t.transform(sourse, result);

} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TransformerConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯