xml 文件解析 java_浅谈用java解析xml文档(一)

关于xml本身的语法及使用的环境不多说了,网上有很多规则,

然对xml文档进行解析,一般分为四种解析方式,基于java官方文档的Dom 和Sax解析,还有就是基于 第三方jar包的 Jdom 和

Dom4j解析。

一、首先我们来看Dom解析:

1、定义工厂,使应用程序能够从 XML 文档获取生成 DOM 对象树的解析器。

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

在应用程序获取对 DocumentBuilderFactory 的引用后,它可以使用工厂来配置和获取解析器实例。

使用DocumentBuilderFactory的目的是为了创建与具体解析器无关的程序,当DocumentBuilderFactory类的静态方法

newInstance()被调用时,它根据一个系统变量来决定具体使用哪一个解析器。

2、获取具体的dom解析器。

DocumentBuilder db = dbf.newDocumentBuilder();

当获得一个工厂对象之后,使用它的静态方法newDocumentBuilder(),可以获得一个DocumentBuilder对象。

这个对象代表了具体的DOM解析器。

解析器的具体实现对于程序来说并不重要。

然后我们就可以使用这个解析器对xml文档进行解析。

3、解析一个xml文档,获得document对象,以books.xml为例

Document document = db.parse("books.xml");

根据标签名访问一个节点。

NodeList bookList = document.getElementsByTagName("book");

4、遍历节点

for (int i = 0; i < bookList.getLength(); i++) {

//获得元素,将节点强制转换为元素

Element element = (Element)bookList.item(i)

}

操作子节点的元素:element.getElementsByTagName("节点名").item(0)

获取子节点value值可以使用getFirstChild().getNodeValue() 方法,

具体可以查看API帮助文档进行操作。

Dom 的优点:树结构,直观好理解,代码易编写,解析过程中树结构保存在内存中,易于修改、删除、重新排列等多种功能。

缺点:当xml文件较大时,对内存的消耗比较大,内存容易溢出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值