最初の取得: DOM パーサーのファクトリ インスタンスを取得します。 DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
次に、DOM ファクトリから DOM パーサーを取得します。
DocumentBuilder dombuilder=domfac.newDocumentBuilder();
) DOM パーサーが解析できるように、解析する XML ドキュメントを入力ストリームに変換します。
InputStream は = new FileInputStream("test1.xml");
(4) XMLドキュメントの入力ストリームを解析し、ドキュメントを取得します。
ドキュメント doc=dombuilder.parse(is);
(5) XML文書のルートノードを取得する
要素ルート=doc.getDocumentElement();
(6) ノードの子ノードを取得する
NodeList Books=root.getChildNodes();
java.io.ファイルをインポートします。
java.io.FileInputStreamをインポートします。
java.io.InputStreamをインポートします。
インポート javax.xml.parsers.DocumentBuilder;
インポート javax.xml.parsers.DocumentBuilderFactory;
org.w3c.dom.Document をインポートします。
org.w3c.dom.Element をインポートします。
org.w3c.dom.Node をインポートします。
org.w3c.dom.NodeList をインポートします。
パブリック クラス XmlReader {
public static void main(String[] args) {
XmlReader リーダー = new XmlReader();
}
public XmlReader(){
DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();
試す {
DocumentBuilder domBuilder = domfac.newDocumentBuilder();
InputStream は = new FileInputStream(new File("D:/test1.xml"));
ドキュメント doc = domBuilder.parse(is);
要素ルート = doc.getDocumentElement();
NodeList ブック = root.getChildNodes();
if(本!=null){
for (int i = 0; i <books.getLength(); i++) {
ノードブック = Books.item(i);
if(book.getNodeType()==Node.ELEMENT_NODE) {
//(7) ノードの属性値を取得する
文字列 email=book.getAttributes().getNamedItem("email").getNodeValue();
System.out.println(電子メール);
// ノードのプロパティはその子ノードでもあることに注意してください。そのノードタイプも Node.ELEMENT_NODE です
//(8) 子ノードを循環する
for(Node node=book.getFirstChild();node!=null;node=node.getNextSibling()) {
if(node.getNodeType()==Node.ELEMENT_NODE) {
if(node.getNodeName().equals("名前")) {
文字列名=node.getNodeValue();
文字列名1=node.getFirstChild().getNodeValue();
System.out.println(名前);
System.out.println(name1);
}
if(node.getNodeName().equals("価格")) {
文字列価格=node.getFirstChild().getNodeValue();
System.out.println(価格);
}
}
}
}
}
}
} catch (例外 e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
}
}