Java的Dom解析xml

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();
}
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值