就业班的第三天~~~~~

今天是在就业班的第三天,今天主要是讲了关于关于XML的解析方式,还有怎样去获取DOM树中的元素,东西还挺多的,昨天晚上我学习到一点才睡,因为以及是就业班了,知识量是很大的,或许有些同学觉得还能接收,但是对于我只对Java接触一个月的人来说,即使再简单的东西我也不敢轻视啊,何况大家都是从各地来传智求学,其中有不少的高手啊,但是我现在的水平,不能轻视任何的的知识,我都要认真的去学,不敢马虎,勤能补拙,天道酬勤,呵呵,我觉得写得实在是太经典了,玮宝,加油啦~~好好回顾今天的功课,明天虽然休息,但是还是一个很好的去学习的机会啊,可以看书,看视频,提前预习以后将要讲的东西,好啦~~开始今天的复习~~
首先是讲了关于XML文档的解析:

XML文档的解析:
DOM:
DOM解析器是使用树形模型,把XML文档转化为一个包含其内容的树,并可以对树进行遍历

SAX:
SAX解析器采用了基于事件的模型,解析XML文档的时候可以触发一系列的事件

JDOM:
JDOM的目的是成为java特定文档模型,它简化与XML的交互并且比使用DOM实现更快

DOM4J:
DOM4J是一个非常非常优秀的java XML API,具有性能优异,功能强大和极端易使用的特点


DOM(Document Object Model)文档对象模型
DOM的三层模型将HTML,XML文档定义成树形结构
文档中的标签属性,文本等都封装成了节点对象
封装成对象的好处就是更易于操作这些节点
DOM本身就是对外暴露的一套API

XML文档的节点:
一个XML文档中只有一个根节点,没有父节点的元素节点
元素节点:根节点和根节点中的所有标签都是元素节点
属性节点:<student id="009"></student>id就是属性节点
文本节点:<name>张三</name>张三就是文本节点
注释节点:<!---->XML文档中的注释信息

DOM在java平台上的应用
dom4j是一套开源的类库
集成的XPath(路径查询语言)支持,XMLSchema(约束模式文档)支持
具体操作:
获取到DOM4J的Jar包以及帮助文档
将Jar包设置到classpath中,就可以使用DOM4J中提供的对象,进行XML文档的解析了
查看帮助文档了解对象的使用


XML文档基本操作:
1,获取XML文档对象Document
File xmlFile=new File("test.xml");
SAXReader reader=new SAXReader();
Document xmlDocument=reader.read(xmlFile);

2,获取根元素
Element root=xmlDoc.getRootElement();

3,获取根元素名称
String elementName=root.getName();

4,获取直接子元素对象
通过元素名称获取元素对象
Element element=root.element("元素名称");
获取所有直接子元素对象集合
List elementList=root.elements();

5,获取元素对象中的文本
获取element元素内部文本
String text=element.getText();
获取element子元素内部文本
String text=element.elementText("子元素名称");

6,获取元素属性对象
通过属性名获取元素属性对象
Attribute attribute=element.attribute("属性名称");
通过索引获取属性对象
Attribute attribute=element.attribute(0);
获取所有属性对象集合
List attributeList=root.attributes();

7,获取属性值
通过属性对象
String value=attribute.getValue();
通过元素对象
String value=element.attributeValue("属性名称");

DOM4J的体系结构:
Document:用于描述XML文档
Element:用于描述XML文档中的元素
Attribute:用于描述XML文档中的元素属性

8,增加节点
创建文档Document
Document document=DocumentHelper.creatDocument();
创建元素
Element element=document.addElement("元素名称");
创建属性
element.addAttribute("属性名","属性值");
添加属性方法返回的是元素对象,如同StringBuffer
创建文本
element.addText("文本");

9,删除节点
remove(Element element)
remove(Attribute attribute)
remove(Text text)
....
remove(Node node)
Node接口的子类对象都可以移除
注意:remove是移除直接子节点时使用
parentElement.remove(childElement);


10,将节点变成字符串
node接口中的asXML()方法

11,将XML规则的字符串转化成xmlDocuement
String xmlStr="<student id='007'>"
               +"<name>zhangsan</name>"
        +"<age>21</age></student>";
Document xmlDoc=DocumentHelper.parseText(xmlStr);

12,建立XML文件
FileWriter fw=new FileWriter("students2.xml");
XMLWriter writer=new XMLWriter(fw);
writer.write(document);
writer.close();
建立漂亮的XML文档,可以指定字符编码
OutputFormat format=OutputFormat.createPrettyPrint();
format.setEncoding("gbk");
XMLWriter writer=new XMLWriter(fw,format);


Xpath介绍:
XPath是在XML文档中查找信息的语言
XPath是通过元素和属性进行查找
XPath简化了Dom4J查找节点的过程
使用XPath必须导入jaxen-1.1-beta-6.jar
否则会出现:类找不到异常
NoClassFoundError:org/jaxen/JaxeException

XPath语法:
/students/student  通过绝对路径获取students根节点下所有的                   直接子节点student元素对象
students/student   通过相对路径获取students根节点下所有是                   直接子节点student元素对象
//name    获取所有name元素对象,不考虑位置
student//name    获取student元素下所有的name元素对象
//@id    获取所有的id属性对象
//student[@id]    获取所有带id属性的student对象
//student[@id='002']获取id等于002的student元素对象
//student[age>20] 获取所有子元素age的值大于20的                  student元素对象

查询节点
1.获取所有符合条件的节点
selectNode(String xpathException)返回List集合
2,获取符合条件的单个节点
selectNode(String xpathException)返回一个Node对象
如果符合条件的节点有多个,那么返回第一个

呵呵,今天的东西写完了,呵呵,昨天晚上弄到十二点才睡。所以,今天早上起了个大早,预习功课,还做了笔记,呵呵,要养成良好的学习习惯,这样对学习的帮助是很大的~~呵呵,接着我就要敲敲代码了哦~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值