第三天【DOM4J Xpath】

一、DOM4J解析XML文件

     CURD操作

     SAXReader saxReader = new SAXReader();

     Document document  = saxReader.read(new File("文件路径"));

     Element rootElement = document.getRootElement();

     List<Element> elementList = rootElement.elements();

     element = elementList.get(1);// 获得root元素的第二个子元素

     注意:将元素插入指定位置,必须使用DocumentHelper.createElement创建元素,不能基于rootElement创建,会报异常。

     其他常用的API思想:

          将字符串转换为document对象,用DocumentHelper.parseText(字符串);

          将document对象或元素转换为字符串,用asXML()方法;

          创建空的document对象:DocumentHelper.createDocument();

二、基于DOM4J的Xpath技术   导入jaxen的jar包

     Xpath就是一段有规则的字符串,有些类似于正则表达式,它就是为了快速定位到任意标签而生的。

     常用API:

          Element element = (Element) document.selectSingleNode(xpath);取得符合xpath规则的单个元素节点

          List<Element> elementList  = document.selectNodes(xpath);取得符合xpath规则的多个元素节点

          详细的xpath编写,参考文档

String xpath = "/address/province[@name='广西区']" ; //获得name属性为'广西区'的 proviince元素

String xpath = "/address/province[@name='广西区']/city"; //获得name属性为'广西区'的 proviince元素的所有city节点

String xpath = "/address/province"; //获得所有province节点

String xpath = "/address/@name"; //获得name属性节点

String xpath = "/address/province[1]"; //获得第二个province节点

posted on 2012-08-22 20:17  东方泛起鱼肚白  阅读(247)  评论(0编辑  收藏  举报

导航