一: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. HTML5每日一练之details展开收缩标签的应用

    details标签的出现,为我们带来了更好的用户体验,不必为这种收缩展开的效果再编写JS来实现.注:目前仅Chrome支持此标签. details有一个新增加的子标签——summary,当鼠标点击su ...

  2. 浏览器插件-ActiveX

    浏览器插件:B/S模式下通过在客户端浏览器安装插件调用外设或者处理特殊格式数据. 常用插件有身份证阅读器.sim卡阅读器.银行卡校验插件.手写板插件.小键盘插件: 处理表格数据的华表插件.图片合成插件 ...

  3. PC问题-(仅供备用)取消磁盘的自动扫描

    问题现象:有一次整个单位停电了,之后再开机,每次电脑都自检.现在不想让电脑自检了. 问题原因:可能是因为停电,造成了系统文件的破坏. 问题处理:禁用电脑自检功能(注册表方法). Windows Reg ...

  4. Android问题-DelphiXE8安装后编译Android提示SDK无法更新问题(XE10也可以解决)

    资料来原:http://www.chenruixuan.com/archives/479.html (DelphiXE8 更新SDK)http://www.dfwlt.com/forum.php?mo ...

  5. Spring AOP + AspectJ annotation example

    In this tutorial, we show you how to integrate AspectJ annotation with Spring AOP framework. In simp ...

  6. codeforces 651B Beautiful Paintings

    B. Beautiful Paintings time limit per test 1 second memory limit per test 256 megabytes input standa ...

  7. 用ALAssetsLibrary将过滤后图片写入照片库

    转载自:http://blog.sina.com.cn/s/blog_61235faa0100z3dp.html CIImage *saveToSave = [filter outputImage]; ...

  8. CSS3教程:Transform的perspective属性设置

    1 2   <div id="animateTest" style="-webkit-transform: perspective(400px) rotateY(4 ...

  9. PL/pgSQL学习笔记之二

    39.1.1 使用 PL/pgSQL的好处 SQL是 PostgreSQL和其他大多数关系型数据库作为查询语言而使用的语言.它可移植,并容易学习.但是SQL语句必须被数据库服务器逐条地执行. 这意味着 ...

  10. phpStudy 2014的Apache虚拟主机配置

    安装phpStudy直接百度下载,傻瓜式安装很简单,一直点击下一步即可,中途根据个人爱好设置WWW目录,我的设置在D盘根目录里. 打开虚拟主机配置,打开D:\phpStudy\Apache\conf下 ...