xml之解析原理及dom4j查询---2

一、解析方式

1、sax:特点:逐行解析,不可回退,只能查询;

2、dom:特点:一次性解析成dom树,可回退,能进行crud操作;

二、解析技术

JAXP:sun公司提供支持DOM和SAX开发包
JDom:dom4j兄弟
jsoup:一种处理HTML特定解析开发包
★dom4j:比较常用的解析开发包,hibernate底层采用。

三、dom解析的原理进而结构原型

xmldom 将文档加载到内存中,生成一个dom树,并获得一个Document对象,通过Document对象操作对dom进行操作。




四、dom4j进行查询技术

1、导入dom4j的jar包后在java文件中,按以下步骤编写

①创建核心对象SAXReader:SAXReader reader = new SAXReader();

②将xml文档加载到内存中形成dom树:Document doc = reader.read(文件路径);

③获取根节点:Element root = doc.getRootElement();通过根节点可以获取其他节点(文本节点,属性节点,元素节点)

④获取所有子元素:List<Element> list = root.elements();

⑤获取圆的指定属性的内容:String value = 元素.attrbuteValue("属性名");

⑥遍历list获取每一个元素:for(Element e:list){System.out.println(e);}


五、xpath 解析技术(依赖于dom4j)

使用步骤

①导入两个jar包(dom4j和jaxen-1.1-beta-6.jar两个jar包缺一不可)

②加载xml文件到内存中,操作如(四)中;

③使用api

doc.selectNode("表达式");//表达式为xpath表达式
doc.selectSingleNode("表达式");
表达式的写法:(1)/ 从根节点选取 (2)// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
//元素名[@属性名='属性值'] 
例如,一个标签下有一个id属性且有值  id=2;
//元素名[@id='2'] 可以选择它


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值