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

このコードをコンパイルしようとすると、エラーが発生します(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
4

1 に答える 1

1

メソッドdoc.getElementsByTagName("root")が返さNodeListれるので、変更します。

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