package com.imooc.learn2;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class DOMTest {
public static void main(String[] args) {
//创建一个DocumentBuilderFactory对象
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
try {
//创建一个DocumentBuilder对象
DocumentBuilder builder=dbf.newDocumentBuilder();
//创建一个Document对象
Document root=builder.parse("demo/Books.xml");
//获取所有book的节点
NodeList books=root.getElementsByTagName("book");
//打印数量
System.out.println("一共有"+books.getLength()+"本书");
for (int i = 0; i < books.getLength(); i++) {
//获取单一的节点
Node a=books.item(i);
System.out.println("===========现在开始遍历"+(i+1)+"本书的内容======");
//获取该节点的所有属性和值
NamedNodeMap c=a.getAttributes();
System.out.println("第"+(i+1)+"本书共有"+c.getLength()+"个属性");
//
for (int j = 0; j < c.getLength(); j++) {
//
//通过item方法获取某一个属性
//
Node item=c.item(j);
//
//获取属性名
//
System.out.println("属性名:"+item.getNodeName());
//
//获取属性值
//
System.out.println("属性值:"+item.getNodeValue());
//
}
//有且知道book节点有且只有一个属性,强制类型转换转换成Element类型
Element bood=(Element) books.item(i);
//使用getAttribute的方法获取属性值
String key=bood.getAttribute("id");
System.out.println("id的属性值为:"+key);
System.out.println("===========结束遍历第"+(i+1)+"本书的内容======");
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Java使用DOM解析XML
Java:简单的解析XML文件之使用DOM解析
JAVA XML 解析 DOM -
DOM解析XML文档
DOM 解析 XML文档
dom 解析 xm l