dom 4 jでSAXReaderがxmlファイルを読み込む
2461 ワード
xml-拡張可能なタグ言語で、データの担体として、柔軟にデータフォーマットを設定することができ、比較的便利に使用することができます.本文は主にxmlの中のデータをどのように読み取るかを紹介します.
SAXReaderはxmlファイルを読み込みます——構成ファイルを読み取ることを例にとります
プロファイルsys-config.xml情報は次のとおりです.
単例モード解析sys-config.xmlファイル
dom 4 j読み取りxmlの使用手順については、上記のコードの詳細なコメントを参照してください.真剣に注釈しました.
xmlを生成する方法については、時間を割いてまとめて共有します!
SAXReaderはxmlファイルを読み込みます——構成ファイルを読み取ることを例にとります
プロファイルsys-config.xml情報は次のとおりです.
oracle.jdbc.driver.OracleDriver
jdbc:oracle:thin:@localhost:1521:dbtest
drp1
drp1
単例モード解析sys-config.xmlファイル
import java.io.InputStream;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* sys-config.xml
* @author Administrator
*
*/
public class XmlConfigReader {
// ( lazy)
private static XmlConfigReader instance = null;
// jdbc
private JdbcConfig jdbcConfig = new JdbcConfig();
// , ,
public static synchronized XmlConfigReader getInstance() {
if (instance == null) {
instance = new XmlConfigReader();
}
return instance;
}
// xml
private XmlConfigReader() {
/**
* SAXReader : , 。
*/
SAXReader reader = new SAXReader();
// xml
InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-config.xml");
try {
//
Document doc = reader.read(in);
// xml
Element driverNameElt = (Element)doc.selectObject("/config/db-info/driver-name");
Element urlElt = (Element)doc.selectObject("/config/db-info/url");
Element userNameElt = (Element)doc.selectObject("/config/db-info/user-name");
Element passwordElt = (Element)doc.selectObject("/config/db-info/password");
// jdbc
jdbcConfig.setDriverName(driverNameElt.getStringValue());
jdbcConfig.setUrl(urlElt.getStringValue());
jdbcConfig.setUserName(userNameElt.getStringValue());
jdbcConfig.setPassword(passwordElt.getStringValue());
} catch (DocumentException e) {
e.printStackTrace();
}
}
/**
* jdbc
* @return
*/
public JdbcConfig getJdbcConfig() {
/**
* ‘ . ’ , , jdbcConfig
* jdbcConfig
*/
return jdbcConfig;
}
}
dom 4 j読み取りxmlの使用手順については、上記のコードの詳細なコメントを参照してください.真剣に注釈しました.
xmlを生成する方法については、時間を割いてまとめて共有します!