一:XML解析技术

一般我们使用sun公司或者开源组织开发的工具包解析xml效率比较高。

1:jaxp解析xml,jaxp是sun公司开发的解析xml工具包

2:jaxp解析xml代码如下

a:获取document文档树对象

 @Test
// 获取document对象
public void test1() throws Exception {
// 1:获取解析工厂对象
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
// 2:获取解析对象
DocumentBuilder builder = factory.newDocumentBuilder();
// 3:获取document对象
Document doc = builder.parse("xml/books.xml");
System.out.println(doc);
}
     // 获取document对象方法
private Document getDoc() throws Exception {
// 1:获取解析工厂对象
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
// 2:获取解析对象
DocumentBuilder builder = factory.newDocumentBuilder();
// 3:获取document对象
Document doc = builder.parse("xml/books.xml");
return doc;
}

b:获取元素节点

 @Test
// 获取xml中的元素内容
public void test2() throws Exception {
Document doc = getDoc();
NodeList lists = doc.getElementsByTagName("name");
Node node = lists.item(0);
System.out.println("名称:" + node.getNodeName() + "\n内容:"
+ node.getTextContent());
}

c:递归遍历xml文件中所有节点

 @Test
// 遍历所有的节点 递归
public void test3() throws Exception {
Document doc = getDoc();
Node node = doc.getElementsByTagName("bookstore").item(0);
list(node);
} private void list(Node node) {
if (node instanceof Element) {
System.out.println(node.getNodeName());
}
NodeList list = node.getChildNodes();
for (int i = 0; i < list.getLength(); i++) {
list(list.item(i));
}
}

d:获取元素属性

 @Test
// 获取元素属性
public void test4() throws Exception {
Document doc = getDoc();
Element element = (Element) doc.getElementsByTagName("book").item(0);
String name = element.getAttribute("name");
System.out.println("name:" + name);
}

如果Node节点对象的方法比较少是,可以使用子类Element的方法。

javaweb学习总结十(xml解析<SAX以及DOM方式>)的更多相关文章

  1. javaweb学习总结九(xml解析以及调整JVM内存大小)

    一:解析XML文件的两种方式 1:dom,document object model,文档对象模型. 2:sax,simple API for XML. 3:比较dom和sax解析XML文件的优缺点 ...

  2. javaweb学习总结十二(JAXP对XML文档进行SAX解析)

    一:JAXP使用SAX方式解析XML文件 1:dom解析与sax解析异同点 2:sax解析特点 二:代码案例 1:xml文件 <?xml version="1.0" enco ...

  3. Javaweb学习笔记——使用Jdom解析xml

    一.前言 Jdom是什么? Jdom是一个开源项目,基于树形结构,利用纯java的技术对XML文档实现解析,生成,序列化以及多种操作.它是直接为java编程服务,利用java语言的特性(方法重载,集合 ...

  4. android学习日记23--Android XML解析

    一.简述 XML语言是跨平台,JAVA对XML语言支持得比较好,android系统的应用层平台是JAVA做的,所以用XML.XML解析比较简单.XML解析就是将获取到的数据分离出来,基本的网络数据传输 ...

  5. android xml解析 sax

    1.简要概述 Android 各种文件都是xml格式的,还有标准的webservice返回的是xml文件,虽然现在的json使用在移动设备端越来越广泛,但是xml格式的解析感觉还是相当必要. 2.sa ...

  6. Android中XML解析-SAX解析

    昨天由于时间比较匆忙只写了Android中的XML解析的Dom方式,这种方式比较方便,很容易理解,最大的不足就是内容多的时候,会消耗内存.SAX(Simple API for XML)是一个解析速度快 ...

  7. 【Javaweb学习笔记】XML和约束模式

    一.XML语法 xml 可扩展标记语言,w3c组织发布的,用于保存有关系的数据,作为配置文件,描述程序模块之间的关系 xml 文件开头必须包括下面的标签: <?xml version=" ...

  8. XML学习笔记——关于XML解析器

    本篇文章基于W3C而写 在Firefox及其他浏览器中的XML解析器(除IE) var xmlDoc=document.implementation.createDocument("&quo ...

  9. xml 解析的四种方式

    =========================================xml文件<?xml version="1.0" encoding="GB2312 ...

随机推荐

  1. 第二百六十天 how can I 坚持

    晚上去看了个电影,<万万没想到>,挺好看的,豆瓣评分不高.网络啊. 互联网会让聪明的人越来越聪明. 明天去看寻龙诀了. 懒惰会生根发芽,哈哈. 睡觉了.

  2. Java 任务调度

    1.普通方式 /** * 普通thread * 这是最常见的,创建一个thread,然后让它在while循环里一直运行着, * 通过sleep方法来达到定时任务的效果.这样可以快速简单的实现 */ p ...

  3. AutoCAD.NET二次开发:创建自定义菜单的两种方法比较

    目前我已经掌握的创建CAD菜单方法有两种: COM方式: http://www.cnblogs.com/bomb12138/p/3607929.html CUI方式: http://www.cnblo ...

  4. My97DatePicker时间控件使用说明

    常规调用: <input id="date01" type="text" onClick="WdatePicker()"/> & ...

  5. jQuery基础学习4——jQuery容错性

    使用jQuery选择器不仅比使用传统的getElementById()和getElementsByTagName()函数简洁得多,而且还能避免某些错误. <script type="t ...

  6. 《数据通信与网络》笔记--SCTP

    SCTP(stream control transmission protocol)是一种新的可靠的,面向报文的传输层控制协议.它兼有UDP和TCP的特性,它是可靠的面向报文的协议,它保存报文的边界, ...

  7. HDU 4052 Adding New Machine (线段树+离散化)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4052 初始给你w*h的矩阵,给你n个矩形(互不相交),按这些矩形尺寸把初始的矩形扣掉,形成一个新的'矩 ...

  8. UVa 817 According to Bartjens (暴力,DFS)

    题意:给出一个数字组成的字符串,然后在字符串内添加三种运算符号 * + - ,要求输出所有添加运算符并运算后结果等于2000的式子. 所有数字不能有前导0, 且式子必须是合法的. 析:这个题很明显的暴 ...

  9. LCA算法

    LCA算法: LCA(Least Common Ancestor),顾名思义,是指在一棵树中,距离两个点最近的两者的公共节点.也就是说,在两个点通往根的道路上,肯定会有公共的节点,我们就是要求找到公共 ...

  10. plsql developer导入导出数据库方法

    导出步骤: 1 tools ->export user object 选择选项,导出.sql文件 2 tools ->export tables-> Oracle Export 选择 ...