0

好的,所以我正在开发一个程序,该程序计算一些东西,然后获取该数据并将其添加到同一目录中的现有 XML 文件中。我已经使用 DocumentBuilder 来解析文件,现在需要(至少这是我认为我需要做的,请纠正我我错了)从解析的文件中获取一个元素并将另一个元素附加到它。

这是到目前为止的代码导入的包:

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);
    }

当我尝试编译此代码时,这里是我得到的错误(仅供参考,这是一个定制的 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
4

1 回答 1

1

方法doc.getElementsByTagName("root")返回NodeList所以改变它,

Element root = doc.getDocumentElement();
于 2012-08-23T02:46:17.560 回答