欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-28 23:45: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解析基本结束了