您的位置:首页 > 其它

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

2017-07-25 17:08 190 查看
一、解析方式

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'] 可以选择它
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: