2

データベースの接続を設定するために xml ファイルを解析しようとしています。しかし、null 文字列しか返されませんでした。誰かが私が間違っていることを確認できますか?

Java クラス (Dbconfig は、詳細の文字列を持つ単なるクラスです)

public class XMLReader {

 public Dbconfig read(){

    Dbconfig conf = new Dbconfig();

    try {
        File file = new File("database.xml");
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document doc = db.parse(file);
        doc.getDocumentElement().normalize();
        //System.out.println("Root element " + doc.getDocumentElement().getNodeName());
        NodeList nodeLst = doc.getElementsByTagName("database");


        Element element = (Element) nodeLst.item(0);
        NodeList url = element.getElementsByTagName("url");
        conf.url = url.item(0).toString();
        NodeList driver = element.getElementsByTagName("driver");
        conf.driver = driver.item(0).toString();
        NodeList username = element.getElementsByTagName("username");
        conf.username = username.item(0).toString();
        NodeList password = element.getElementsByTagName("password");
        conf.password = password.item(0).toString();

        System.out.format("####Printing XML configuration:%s %s %s %s \n",conf.url, conf.driver, conf.username, conf.password);


    } catch (Exception e) {
      e.printStackTrace();
    }
        return conf;
   }
}

XML ファイル (1 つのデータベースの構成のみを提供する必要があります):

<?xml version="1.0" encoding="UTF-8"?>
<database>
    <url>jdbc:mysql://localhost:3306/db</url>
    <driver>com.mysql.jdbc.Driver</driver>
    <username>admin</username>
    <password>admin</password>
</database>

出力は次のとおりです。

####Printing XML configuration:[url: null] [driver: null] [username: null] [password: null] 
4

3 に答える 3