java解析xml之dom解析xml示例分享
java解析xml之dom解析xml示例分享
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:packagecom.test;importjava.io.File;importjava.util.ArrayList;...

复制代码 代码如下:

package com.test;

import java.io.File;

import java.util.ArrayList;

import java.util.List;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;

public class DomXML {

public static void main(String[] args) {

try {

File file = new File("e:/People.xml");

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

Document document = builder.parse(file);

Element element = document.getDocumentElement();

List<People> peopleList = new ArrayList<People>();

NodeList peopleNodes = element.getElementsByTagName("People");

for(int i=0;i<peopleNodes.getLength();i++){

People people = new People();

Element 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) instanceof Element){

Element childPeopleElement = (Element) childPeopleNodes.item(j);

if(childPeopleElement.getNodeType()==Node.ELEMENT_NODE){

if(childPeopleElement.getNodeName().equals("Name")){

people.setEnglishName(childPeopleElement.getAttribute("en"));

people.setName(childPeopleElement.getTextContent());

}

else if(childPeopleElement.getNodeName().equals("Age")){

people.setAge(childPeopleElement.getTextContent());

}

}

}

}

peopleList.add(people);

}

for(People people : peopleList){

System.out.println(people.getId()+"t"+people.getName()+"t"+people.getEnglishName()+"t"+people.getAge());

}

} catch (Exception e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Java学习
热门Java学习
编程开发子分类