欢迎来到天天文库
浏览记录
ID:22371430
大小:244.14 KB
页数:15页
时间:2018-10-28
《xml数据解析new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三天XML数据解析(重点)1XML数据解析简介1XML解析数据的原理1JAXP解析技术2DOM解析2SAX解析6DOM4J解析技术10XPath13DOM4J+XPath14总结15练习15第三天XML数据解析(重点)在很多的项目中我们都需要将XML中描述好的数据通过程序拿出来加以操作。如:JavaEE和Androdi。那么其实在XML语言的学习中最重要的两个技术是:XML描述数据、XML数据解析。因此在这一章节我们重点给大家讲解XML的数据解析技术。XML数据解析简介由于从XML中解析数据一个比较普遍的操作,那么SUNAPI中一定定义好了操作XML的相关类和方法。SUN
2、公司使用JAXP进行XML的数据解析。SUN提供的解析技术:JAXP:JavaApiforXmlProcessing解析XML的API架构,JAXP中主要包含DOM解析和SAX解析,主要设计的包如下:javax.xml.parsers、org.w3c.dom、org.xml.sax因此下面的学习我们将围绕以上三个包进行学习。开源解析技术:DOM4J:主要结合DOM和SAX解析的优势构建了开源的DOM4J解析技术。XML解析数据的原理在实际的开发中没有开发者直接写解析器进行XML文件的解析,一般开发者都是通过通过解析器提供者提供的API获取解析器进而快速的操作XML数据。从上
3、图中发现解析XML数据第一步应该先获取解析器对象,第二步是通过获取到的解析器对称进行数据的获取。JAXP解析技术SUN提供了两种不同的解析XML数据的方式,一种是DOM解析。另一种是SAX解析。DOM解析原理:在内存中构XML文件的DOM树。SAX解析原理:使用事件机制和方法回调的技术实现。DOM解析DOM解析主要会用到java中的以下包:javax.xml.parsersà主要是获取DOM解析器主要的类如下:DocumentBuilderFactoryàDOM解析器的工厂类。DocumentBuilderàDOM解析器org.w3c.domà提供DOM树支持主要的接口如下
4、:---
5、Nodeà描述的是所有的XML元素的共性------
6、Attrà描述的是所有的XML中的属性元素的共性------
7、Documentà描述整个XML文档------
8、Elementà描述XML中的元素------
9、Textà描述的是Element或Attr中包含的文本内容体验:编写如下的users.xml文件在项目根路径jack编写一个Test.java文件如下publicstaticvoidmain(String[]args)throwsException{Do
10、cumentBuilderFactoryfac=DocumentBuilderFactory.newInstance();DocumentBuilderparser=fac.newDocumentBuilder();Documentdoc=parser.parse(newFile("users.xml"));Stringstr=doc.getElementsByTagName("users").item(0).getTextContent();System.out.println(str);}通过体验,发现解析XML其实十分简单,因此我们必须学会。u开发前奏1、获取解析器/
11、/1.获取DOM解析器对象publicstaticDocumentBuildergetParser()throwsException{//1.1创建解析器的工厂类对象DocumentBuilderFactoryfac=DocumentBuilderFactory.newInstance();//1.2获取解析器DocumentBuilderparser=fac.newDocumentBuilder();//1.3返回解析器对象returnparser;}2、获取解析好的DOM树//2.使用解析器进行XML的解析,返回解析好的DOM树publicstaticDocumentg
12、etDOM(Filexml)throwsException{//2.1获取解析器DocumentBuilderparser=getParser();//2.2使用解析器解析指定的xml文件Documentdom=parser.parse(xml);//2.3返回解析好的DOM树returndom;}3、将dom转换为xml//3.将内存中的DOM树持久化写入到XML文件publicstaticvoidwriteDOM2XML(Documentdom,Filexml)throwsException{//3.1创建转换
此文档下载收益归作者所有