以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  用java对xml新增元素的问题!!!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=20087)


--  作者:zczczc
--  发布时间:7/2/2005 10:20:00 AM

--  用java对xml新增元素的问题!!!
import javax.xml.parsers.*;
import org.xml.sax.*;  
import java.io.*;
import org.w3c.dom.*;

public class AddItem{
 static Document document;
 public static void main(String[] argv)throws Exception{
  DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
  
  dbf.setIgnoringComments(true);
  dbf.setIgnoringElementContentWhitespace(true);
  dbf.setCoalescing(true);
  
  DocumentBuilder db=dbf.newDocumentBuilder();
 
  document=db.parse(new File("c:\\j\\test.xml"));
  
  
  Element root=document.getDocumentElement();
  Element temp=(Element)document.createElement("code");
  root.appendChild(temp);
  
  NodeList nn=root.getChildNodes();
  System.out.println(nn);
 } 
}
程序运行完之后屏幕输出test.xml中确实增加了code元素,可是打开test.xml文件却没有
增加,请问这是怎么回事啊?如何才能把新增的元素真正的保存到xml文件中呢?


--  作者:fog628
--  发布时间:7/6/2005 10:54:00 AM

--  
你只在内存中个修改了DOM树,并没有保存到文件,你可以用你程序中的document来构造一个DOMSource,再利用一个OutputStream写入到XML文件

请见:

javax.xml.transform.transform(Source xmlSource, Result outputTarget)


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms