复制代码代码如下:
пакет 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 {
public static void main(String[] args) {
пытаться {
Файл файл = новый файл("e:/People.xml");
Фабрика DocumentBuilderFactory = DocumentBuilderFactory.newInstance();
Конструктор DocumentBuilder = Factory.newDocumentBuilder();
Документ document = builder.parse(файл);
Элемент element = document.getDocumentElement();
List<People>peopleList = новый ArrayList<People>();
NodeListpeopleNodes = element.getElementsByTagName("Люди");
for(int i=0;i<peopleNodes.getLength();i++){
Люди люди = новые Люди();
ЭлементpeopleElement = (Элемент)peopleNodes.item(i);
люди.setId(peopleElement.getAttribute("id"));
NodeList childPeopleNodes =peopleElement.getChildNodes();
for(int j=0;j<childPeopleNodes.getLength();j++){
//DOM 解析时候注意子节点前面的空格也会被解析
если (childPeopleNodes.item (j) элемент элемента) {
Элемент childPeopleElement = (Элемент) childPeopleNodes.item(j);
if(childPeopleElement.getNodeType()==Node.ELEMENT_NODE){
if(childPeopleElement.getNodeName().equals("Имя")){
люди.setEnglishName(childPeopleElement.getAttribute("en"));
люди.setName(childPeopleElement.getTextContent());
}
иначе if(childPeopleElement.getNodeName().equals("Возраст")){
люди.setAge(childPeopleElement.getTextContent());
}
}
}
}
людиСписок.добавить(люди);
}
for(Люди люди: PeopleList){
System.out.println(people.getId()+"/t"+people.getName()+"/t"+people.getEnglishName()+"/t"+people.getAge());
}
} catch (Исключение е) {
// TODO 自动生成的 catch 块
е.printStackTrace();
}
}
}