[Java教程][学习手记] Java中利用DOM方法解析XML文件
0 2016-05-23 14:00:03
需求分析:
在做一个利用API的小东西时需要对返回的
详见文章: [开发手记] 一款基于命令行的英英词典 (A CLI-Based EE Dictionary)
项目地址: https://github.com/hwding/seekDict
准备工作:阅读Documentation
查阅相关代码
读入
首先用DocumentBuilderFactory生成一个DocumentBuilder实例
DocumentBuilder docmumentBuilder = DocumentBuilderFactory.newInstance();
这个实例用来从文件中读取, 解析并构造一个(
下一步利用docmumentBuilder去解析本地
Document document = docmumentBuilder.parse(file);
注意这个file此处未声明, 实际上应该指向本地的一个存储
如果解析成功, 此时document在程序内就是一个合法的(
节点(Node\NodeList)与元素(Element)的查找与读取:
Element rootElement = document.getDocumentElement();
先将整个文档当作一个大元素赋给rootElement
NodeList cotent = rootElement.getChildNodes();
Element类的getChildNodes()方法将获得此元素下的所有一级节点, NodeList中存储着多个Node
所以此时content中就存储了
如果需要继续解析一级节点的子节点, 方法是一样的, 但是将Node类转化成Element类需要进行实例检查, 否则在遍历节点时会出错1 if (content.item(i) instanceof Element)2 Element example = (Element) content.item(i);
如果content中第i个子节点是Elememnt的实例, 那么就转换其类型并赋给example, 下面就可以对这个节点作进一步的处理
提取想要的标签节点
Node def = element.getElementsByTagName("def").item(j);
将获得element节点下所有标签为"def"的子节点中的第j个子节点
获得文字节点的内容
childNodes.item(p).getTextContent();
类方法与属性(重要):
参见 JAVA SE 8 DOCS API
本文网址:http://www.shaoqun.com/a/224835.html
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。
JAVA
0