复制番号代番号次のように:
パッケージ com.test;
java.io.ファイルをインポートします。
java.util.ArrayListをインポートします。
java.util.Listをインポートします。
インポート javax.xml.parsers.DocumentBuilder;
インポート javax.xml.parsers.DocumentBuilderFactory;
org.w3c.dom.Document をインポートします。
org.w3c.dom.Element をインポートします。
org.w3c.dom.Node をインポートします。
org.w3c.dom.NodeList をインポートします。
パブリック クラス DomXML {
public static void main(String[] args) {
試す {
ファイル file = new File("e:/People.xml");
DocumentBuilderFactory ファクトリ = DocumentBuilderFactory.newInstance();
DocumentBuilder ビルダー = Factory.newDocumentBuilder();
ドキュメント document = builder.parse(file);
要素要素 = document.getDocumentElement();
List<People> peopleList = new ArrayList<People>();
NodeList peopleNodes = element.getElementsByTagName("People");
for(int i=0;i<peopleNodes.getLength();i++){
人々 人々 = new People();
要素 peopleElement = (要素) peopleNodes.item(i);
people.setId(peopleElement.getAttribute("id"));
NodeList childPeopleNodes = peopleElement.getChildNodes();
for(int j=0;j<childPeopleNodes.getLength();j++){
//DOM 解析時天気注意子节点前の空格也会被解析
if(childPeopleNodes.item(j) 要素のインスタンス){
要素 childPeopleElement = (要素) childPeopleNodes.item(j);
if(childPeopleElement.getNodeType()==Node.ELEMENT_NODE){
if(childPeopleElement.getNodeName().equals("名前")){
people.setEnglishName(childPeopleElement.getAttribute("en"));
people.setName(childPeopleElement.getTextContent());
}
else if(childPeopleElement.getNodeName().equals("年齢")){
people.setAge(childPeopleElement.getTextContent());
}
}
}
}
peopleList.add(人);
}
for(人 人 : peopleList){
System.out.println(people.getId()+"/t"+people.getName()+"/t"+people.getEnglishName()+"/t"+people.getAge());
}
} catch (例外 e) {
// TODO自動生成のキャッチ块
e.printStackTrace();
}
}
}