xml的解析方式(一)DOM 解析

来源:互联网 发布:inpho软件中文说明 编辑:程序博客网 时间:2024/06/04 18:22

DOM解析

*首先我们看看API中的包
*

javax.xml.parsers 的类 DocumentBuilderFactory

学习工厂模式 ,它也是类似于 单例模式 构造方法需要用它方法里的

.newInstance()方法来构建一个工厂
即DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

然后通过它的方法

.newDocumentBuilder()

new一个DocumentBuilder类 为了使用它的parse方法来解析xml文档

DocumentBuilder builder = factory.newDocumentBuilder(); document = builder.parse(file); 

这里的file参数注意了 根据API 知道我们可以
String uri 传一个路径 也可以传一个File f
这里传文件实例一般不会出现异常
传路径的话 切记路径不能包含中文 这样会出现一片红的异常
java.net.MalformedURLException: unknown protocol: c

上面的返回值是一个Document
接下来我们就可以用document 的方法 来提取
xml中的元素了
DOM方法是将整个文件都读到缓存中解析 所以不适合大文件的解析

.getElementsByTagName(标签名)

入参为你的标签名 然后返回给你一个NodeList
可以用NodeList里面的两个方法来遍历里面存的值

.getLength() 

把学校的节点集合循环成单个的节点集 for循环内用

item(int index)

返回的Node我们先叫它node
用item方法 返回节点列表中处于指定索引号的节点

if(node.getNodeType() == Node.ELEMENT_NODE)

判断节点是否是element 是得话强转 (节点中包含太多的东西)

Element XXXElement=(Element)node;  //强转

这里强转的XXXElement 元素 我们用它的方法

.getAttribute( 属性名);

这样就可以获得你所需要的二级节点的属性了

这样DOM解析基本结束了