好的,所以我正在开发一个计算内容的程序,然后获取该数据并将其添加到同一目录中的现有XML文件中。我已经使用DocumentBuilder来解析文件,现在需要(至少这是我认为我需要做的,请纠正我,我错了)从parsered文件中获取一个元素并将appendChild另一个元素添加到它。
到目前为止,这是代码 导入的包:
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
答案 0 :(得分:1)
方法doc.getElementsByTagName("root")
返回NodeList
,因此请更改
Element root = doc.getDocumentElement();