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示例
相关文章
一文带你掌握Java LinkedBlockingQueue
LinkedBlockingQueue 是一个可选有界阻塞队列,这篇文章主要为大家详细介绍了Java中LinkedBlockingQueue的实现原理与适用场景,感兴趣的可以了解一下2023-04-04Java StringBuffer与StringBuilder有什么区别
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder类,和String类不同的是,StringBuffer和 StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象,本篇我们来分析分析它们的区别2023-01-01
最新评论