简单介绍一下使用DOM解析XML文档,解析XML文件案例:

<?xml version="1.0" encoding="UTF-8"?>

-<pet>

-<dog id="1">

<姓名>小白</姓名>

<健康值>100</健康值>

<亲密度>0</亲密度>

<年龄>1岁</年龄>

</dog>

-<dog id="2">

<姓名>黄鼠狼</姓名>

<健康值>30</健康值>

<亲密度>90</亲密度>

<年龄>5岁</年龄>

</dog>

-<dog id="3">

<姓名>小东</姓名>

<健康值>90</健康值>

<亲密度>10</亲密度>

<年龄>3岁</年龄>

</dog>

</pet>

使用DOM解析XML文档

import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException; /**
* 使用DOM解析XML文档
* @author Administrator
*
*/
public class DomReadXML { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub //========使用DOM解析XML
//第一步:建立DOM解析工厂对象实例
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try {
//第二步:从DOM解析工厂中获取解析器
DocumentBuilder db = dbf.newDocumentBuilder(); //第三步:解析XML文件;载入XML文件得到Document即DOM树
Document dom = db.parse("file:///D:/Desktop/chapter14/教学演示案例/示例3:使用内部DTD文件/pet2.xml"); //得到所有狗狗节点信息
NodeList nl = dom.getElementsByTagName("dog");
System.out.println(nl.getLength());
//循环取出信息
for (int i = 0; i < nl.getLength(); i++) { //得到每只狗狗节点
Node dog = nl.item(i); //得到狗狗的属性(即ID)
Element el = (Element)dog;
String id = el.getAttribute("id");
System.out.println("ID:"+id); //获取狗狗的子节点信息
for(Node dog_child = dog.getFirstChild();dog_child!=null;dog_child = dog_child.getNextSibling()){ //为了防止打印空格(即#text);需要判断当前对象为Node节点对象
if(dog_child.getNodeType() == Node.ELEMENT_NODE){
String name = dog_child.getNodeName();
String value = dog_child.getFirstChild().getNodeValue();
System.out.println(name+":"+value);
}
} } } catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } }

使用DOM解析XML文档的更多相关文章

  1. 精讲 org.w3c.dom(java dom)解析XML文档

    org.w3c.dom(java dom)解析XML文档 位于org.w3c.dom操作XML会比较简单,就是将XML看做是一颗树,DOM就是对这颗树的一个数据结构的描述,但对大型XML文件效果可能会 ...

  2. org.w3c.dom(java dom)解析XML文档

    位于org.w3c.dom操作XML会比较简单,就是将XML看做是一颗树,DOM就是对这颗树的一个数据结构的描述,但对大型XML文件效果可能会不理想 首先来了解点Java DOM 的 API:1.解析 ...

  3. Dom解析XMl文档

    XMl文档 <?xml version = "1.0" encoding = "UTF-8"?> <books> <book bo ...

  4. Java中Dom解析xml文档

    xml文档 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book id ...

  5. java解析xml文档(dom)

    DOM解析XML文档 读取本地的xml文件,通过DOM进行解析,DOM解析的特点就是把整个xml文件装载入内存中,形成一颗DOM树形结构,树结构是方便遍历和和操纵. DOM解析的特性就是读取xml文件 ...

  6. DOM生成XML文档与解析XML文档(JUNIT测试)

    package cn.liuning.test; import java.io.File; import java.io.IOException; import javax.xml.parsers.D ...

  7. Java解析XML文档(简单实例)——dom解析xml

      一.前言 用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API(Simple API for XML)称为SAX和基于树和节点的文档对象模型(Document Object ...

  8. Java高级特性 第13节 解析XML文档(1) - DOM和XPath技术

    一.使用DOM解析XML文档 DOM的全称是Document Object Model,也即文档对象模型.在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树 ...

  9. JAVA读取XML,JAVA读取XML文档,JAVA解析XML文档,JAVA与XML,XML文档解析(Document Object Model, DOM)

    使用Document Object Model, DOM解析XML文档 也可参考我的新浪博客:http://blog.sina.com.cn/s/blog_43ac5543010190w3.html ...

随机推荐

  1. 基本数据类型:字符串(str)

    一.字符串的定义和创建 字符串是一个有序的字符的集合,用于存储和表示基本的文本信息,' '或'' ''或''' '''中间包含的内容称之为字符串,总之加了引号的字符都被认为是字符串! 创建: > ...

  2. C#学习笔记_13_静态类&Sealed&运算符重载&抽象类

    13_静态类&Sealed&运算符重载&抽象类 静态类 由static修饰的类就是静态类 特点: 静态类不能实例化对象 静态类中不允许写非静态的成员 静态类只能由一个父类Obj ...

  3. 【Codeforces 1114D】Flood Fill

    [链接] 我是链接,点我呀:) [题意] 你选择一个point作为start_position 然后每次你可以将包含该start_position的所有联通块变成任意颜色 问你最少要多少次变换才能将所 ...

  4. chromeDriver下载地址

    http://chromedriver.storage.googleapis.com/index.html

  5. 常用Git命令大全思维导图

    开发中代码管理少不了使用Git,对于初学者来说Git命令的学习是一个难过的坎,为了帮助大家记忆并快速掌握Git的基本使用,我把常用的Git命令整理成思维导图,分享给大家. 高清大图在线预览 http: ...

  6. Struts2 值栈总结(ValueStack)

    1.获取值栈 //获取值栈的第一种方式 ValueStack valueStack1 = (ValueStack) ServletActionContext.getRequest().getAttri ...

  7. Ext.Ajax.request方法 参数

    json数据服务器回传的方法. 在api总指出回传的格式{success;true,data:{clientName: "Fred. Olsen Lines",   portOfL ...

  8. Git 项目上传至github入门实战并解决常见错误

    1.Git GUI 首先,在push到github的项目必须先建立版本(即creat  repository的名字一样),一般是先pull下来,再push(为了防止有其他人提交了代码,而你却不知道,造 ...

  9. php 数组 array()

    定义和用法 array() 创建数组,带有键和值.如果在创建数组时省略了键,则生成一个整数键,默认从 0 开始,然后以 1 进行递增. 用 array() 创建一个数组,可使用 => 来分隔键和 ...

  10. java Regex

    超全 http://www.rexegg.com/regex-lookarounds.html 这篇文章不错:http://www.cnblogs.com/lzq198754/p/5780340.ht ...