java解析xml之dom解析xml示例分享
作者:
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使用xpath解析xml示例分享
- javascript读取Xml文件做一个二级联动菜单示例
- JavaScript获取XML数据附示例截图
- Java生成和解析XML格式文件和字符串的实例代码
- javascript创建createXmlHttpRequest对象示例代码
- java操作XML实例代码
- java使用xpath和dom4j解析xml
- java解析xml之jdom解析xml示例分享
- java解析xml之dom4j解析xml示例分享
- java解析xml之sax解析xml示例分享
- java使用dom4j解析xml配置文件实现抽象工厂反射示例
- java dom4j解析xml用到的几个方法
- javaScript如何生成xmlhttp
- javascript读取xml实现javascript分页
- Java如何读取XML文件 具体实现
- javascript获取xml节点的最大值(实现代码)
- java dom4j解析xml文件代码实例分享
- java使用jaxb操作xml示例