- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2013-4-2使用递归DOM解析
使用递归DOM解析
DOM是Document Object Model的缩写,即文档对象模型
DOM把XML文映射成一个倒挂的树
使用DOM解析XML文档的步骤:
创建解析器工厂对象
由解析器工厂对象创建解析器对象
由解析器对象对指定XML文件进行解析,构建相应DOM树,创建Document对象
以Document对象为起点对DOM树的节点进行增删改查操作。
下面我们通过递归的方式完成对student.xml的遍历
student.xml
?xml version=1.0 encoding=UTF-8?
root
student id=1 group=1
name张三/name
sex男/sex
age18/age
emailzhangsan@163.com/email
birthday1987-06-08/birthday
memo好学生/memo
/student
student id=2 group=2
name李四/name
sex女/sex
age18/age
emaillisi@163.com/email
birthday1987-06-08/birthday
memo好学生/memo
/student
student id=3 group=3
name小王/name
sex男/sex
age18/age
emailxiaowang@163.com/email
birthday1987-06-08/birthday
memo好学生/memo
/student
student id=4 group=4
name小张/name
sex男/sex
age18/age
emailxiaozhang@163.com/email
birthday1987-06-18/birthday
memo好学生/memo
/student
student id=5 group=5
name小明/name
sex男/sex
age18/age
emailxiaoming@163.com/email
birthday1987-06-08/birthday
memo好学生/memo
/student
/root
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
public class TestDom {
public static void getNode(Node node) {
if (null != node) {
// 1.获取当前元素节点的节点名和节点值
if (node.getNodeType() == Node.ELEMENT_NODE) {
System.out.println(node.getNodeName() + \t
+ node.getFirstChild().getNodeValue());
}
// 2.获取当前元素节点所包含的属性节点的节点名和节点值
NamedNodeMap map = node.getAttributes();
if (null != map) {
for (int i = 0; i map.getLength(); i++) {
System.out.println(map.item(i).getNodeName() + \t
+ map.item(i).getNodeValue());
}
}
// 3.获取当前元素节点的子节点信息
for (Node child = node.getFirstChild(); null != child; child = child
.getNextSibling()) {
getNode(child);
}
}
}
public static void main(String[] args) {
// 1.创建解析器工厂
DocumentBuilderFactory dbf = D
您可能关注的文档
- 2012届学海导航高三地理第二轮复习课件第1课时 等值线(二).ppt
- 2012大物期中.pdf
- 2012届江苏苏教版学海导航高中新课标总复习(第1轮)文数:第8章第47讲 圆的方程.ppt
- 2012届高三第二次模拟考试数学(文)试题.doc
- 2012多元微分复习.ppt
- 2012届高考数学考点回归总复习课件17.ppt
- 2012年12月英语四级听力重点场景词汇.docx
- 2012届高三数学总复习讲义——向量.doc
- 2012年9月份管理学第三次作业.doc.doc
- 2012年8月9日几何讲义.pdf
- 2024-2030年中国偏光片行业经营效益风险及发展前景预测研究报告.docx
- 2024-2030年中国健康产业基地行业运营状况与发展趋势研究报告.docx
- 2024-2030年中国假牙线行业市场发展趋势与前景展望战略分析报告.docx
- 2024-2030年中国休闲包行业消费模式预测与发展策略建议研究报告.docx
- 2024-2030年中国健身服行业市场发展趋势与前景展望战略分析报告.docx
- 2024-2030年中国仓储行业市场发展分析及发展前景与投资策略研究报告.docx
- 2024-2030年中国低温省煤器行业市场现状分析及竞争格局与投资发展研究报告.docx
- 2024-2030年中国停车信息系统行业市场发展趋势与前景展望战略分析报告.docx
- 2024-2030年中国修枝车行业市场发展趋势与前景展望战略研究报告.docx
- 2024-2030年中国信息化IT应用行业最新度报告.docx
文档评论(0)