2012-08-23 66 views
0

好吧,我正在研究计算某些内容的程序,然后将该数据添加到同一目录中的现有XML文件。我已经使用DocumentBuilder解析文件,现在需要(至少这是我认为我需要做的,请改正我,我错了)从parsered文件中获取元素,并将appendChild另一个元素添加到它。使用parsered Java DOM XML中的元素添加新元素

这里是到目前为止的代码 进口包:

import java.applet.*; 
import java.awt.*; 
import java.awt.event.*; 
import java.util.*; 
import java.text.*; 
import org.w3c.dom.*; 
import javax.xml.parsers.*; 
import javax.xml.transform.*; 
import javax.xml.transform.dom.DOMSource; 
import javax.xml.transform.stream.StreamSource; 

和功能,实际上解析器和编辑XML文件:当我尝试在这里编译这段代码

public void saveIt(){ 
     DocumentBuilder bd = DocumentBuilderFactory.newInstance().newDocumentBuilder(); 
     Document doc = bd.parse("excersize.xml"); 
     Element root = doc.getElementsByTagName("root"); 
     Element today = doc.createElement(today); 
     root.appendChild(today); 
    } 

我得到的错误(fyi,这是一个定制的cmd):

Good Luck Sir: javac excersize.java 
excersize.java:240: error: incompatible types 
       Element root = doc.getElementsByTagName("root"); 
                ^
    required: Element 
    found: NodeList 
excersize.java:241: error: method createElement in interface Document cannot be 
applied to given types; 
       Element today = doc.createElement(today); 
           ^
    required: String 
    found: Element 
    reason: actual argument Element cannot be converted to String by method invoca 
tion conversion 
2 errors 

回答

1

方法doc.getElementsByTagName("root")返回NodeList即可更改,

Element root = doc.getDocumentElement();