Java:简单的解析XML文件之使用DOM解析
XML简介
要理解XML,HTML等格式,先来理解文档对象模型DOM
根据 DOM,HTML 文档中的每个成分都是一个节点,这些节点组成了一棵树。
DOM 是这样规定的:
整个文档是一个文档节点
每个 HTML 标签是一个元素节点
包含在 HTML 元素中的文本是文本节点
每一个 HTML 属性是一个属性节点
注释属于注释节点
节点彼此都有等级关系。HTML 文档中的所有节点组成了一个文档树(或节点树)。HTML 文档中的每个元素、属性、文本等都代表着树中的一个节点。树起始于文档节点,并由此继续伸出枝条,直到处于这棵树最低级别的所有文本节点为止。
DOM将整个XML文件加载到内存中,并构建出节点树;应用程序可以通过遍历节点树的方式来解析XML文件中的各个节点、属性等信息;
这种方式便于对XML节点的添加修改等,而且解析也很方便,然后它比较耗费内存,解析速度也不快
现在主要流行的是sax,dom4j和jdom
这章主要说使用DOM来解析
而使用DOM解析XML是有步骤的
1、创建解析器工厂对象 DocumentBuildFactory对象
2、由解析器工厂对象创建解析器对象,即DocumentBuilder对象
3、由解析器对象对指定XML文件进行解析,构建相应的DOM树,创建Document对象,生成一个Document对象
4、以Document对象为起点对DOM树的节点进行查询
5、使用Document的getElementsByTagName方法获取元素名称,生成一个NodeList集合,
6、遍历集合
DocumentBuilderFactory factroy = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = factroy.newDocumentBuilder();
Document document = builder.parse("pets.xml");
NodeList lists = document.getElementsByTagName("dog");
System.out.println("chengmuzhe养的狗狗的初始化信息");
for (int i = 0; i < lists.getLength(); i++) { Node pet = lists.item(i); for (Node node = pet.getFirstChild(); node != null; node = node .getNextSibling()) { if (node.getNodeType() == Node.ELEMENT_NODE) { String name = node.getNodeName(); String value = node.getFirstChild().getNodeValue(); System.out.println(name + ":" + value + "\t"); } } } NodeList lists1 = document.getElementsByTagName("penguin"); System.out.println("chengmuzhe养的企鹅的初始化信息"); for (int i = 0; i < lists1.getLength(); i++) { Node pet = lists1.item(i); for (Node node = pet.getFirstChild(); node != null; node = node .getNextSibling()) { if (node.getNodeType() == Node.ELEMENT_NODE) { String name = node.getNodeName(); String value = node.getFirstChild().getNodeValue(); System.out.println(name + ":" + value + "\t"); } } } } catch (Exception e) { // TODO: handle exception } }
- Java乔晓松-使用SAX,DOM,pull解析XML文件以及pull解析生成xml文件
- Java使用DOM解析XML文件
- Java进阶(二十七)使用Dom4j解析XML文件
- java中解析复杂xml(XStream简单使用)
- java基础-使用dom4j解析XML文件
- java使用dom4j解析xml配置文件实现抽象工厂反射示例
- javaWEB项目中使用XSLT解析生成的XML文件
- 使用XML布局文件和Java混合控制UI界面---简单图片浏览器
- 在Java中使用dom4j来解析及生成xml文件
- java中使用dom4j写xml文件和简单教程
- 使用Java解析xml文件为json格式
- [Java学习]使用digester 解析xml配置文件
- JAVA代码-使用DOM4J解析复杂XML文件
- Java解析XML文件——DOM解析
- 使用Digester解析XML文件和JAVA对象的映射
- java使用document方式解析xml文件
- java中使用dom4j读xml文件简单教程
- java中采用集合使用pull解析xml文件格式的方法
- java使用Xstream注解 解析xml文件 并将数据导入MySql数据库中
- Java&Xml教程(六)使用JDOM解析XML文件