复代码代码如下:
패키지 com.test;
java.io.파일 가져오기;
import java.util.ArrayList;
java.util.List 가져오기;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
org.w3c.dom.Document 가져오기;
org.w3c.dom.Element 가져오기;
org.w3c.dom.Node 가져오기;
org.w3c.dom.NodeList 가져오기;
공개 클래스 DomXML {
공개 정적 무효 메인(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("사람");
for(int i=0;i<peopleNodes.getLength();i++){
사람 사람 = 새로운 사람();
요소 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) 인스턴스of 요소){
요소 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());
}
} 잡기(예외 e) {
// TODO 自动生成成 块
e.printStackTrace();
}
}
}