複製程式碼如下:
包com.test;
導入java.io.File;
導入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 {
公共靜態無效主(字串[] 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++){
人民人民=新人民();
元素 peopleElement = (Element) 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 = (Element) childPeopleNodes.item(j);
if(childPeopleElement.getNodeType()==Node.ELEMENT_NODE){
if(childPeopleElement.getNodeName().equals("名稱")){
people.setEnglishName(childPeopleElement.getAttribute("en"));
people.setName(childPeopleElement.getTextContent());
}
否則 if(childPeopleElement.getNodeName().equals("Age")){
people.setAge(childPeopleElement.getTextContent());
}
}
}
}
peopleList.add(people);
}
為(人民:人民名單){
System.out.println(people.getId()+"/t"+people.getName()+"/t"+people.getEnglishName()+"/t"+people.getAge());
}
} catch (異常 e) {
// TODO 自動產生的 catch 區塊
e.printStackTrace();
}
}
}