dom4j操作XML

来源:互联网 发布:windows怎么修复系统 编辑:程序博客网 时间:2024/05/21 06:12

java利用dom4j操作XML

参看:http://blog.csdn.net/legoe/article/details/6941260


Document对象相关
1、读取XML文件,获得document对象.
SAXReader reader = new SAXReader();
Document document = reader.read(new File(“input.xml”));
2、解析XML形式的文本,得到document对象.
String text = “xxx“;
Document document = DocumentHelper.parseText(text);
3、主动创建document对象.
Document document = DocumentHelper.createDocument();
Element root = document.addElement(“members”);// 创建根节点


1、获取文档的根节点.
Element rootElm = document.getRootElement();
2、取得某节点的单个子节点.
Element memberElm=root.element(“member”);// “member”是节点名

3.取得节点的文字
String text=memberElm.getText();
String text=root.elementText(“name”);这个是取得根节点下的name字节点的文字.


常用的方法:

Document

List elements(标签名) 根据标签名获取一组元素节点对象

Element element(标签名) 根据标签名获取一个元素节点对象

Element

String attributeValue(属性名) 根据属性名获取属性值

String getText() 元素所含有的text内容,如果内容为空则返回一个空字符串而不是null

String elementText(标签名) 元素的某个指定(qualified name或者local name)的子元素中的text信息


通过xpath查找指定的节点
采用xpath查找需要引入jaxen-xx-xx.jar,否则会报java.lang.NoClassDefFoundError: org/jaxen/JaxenException异常

Element ele = (Element) doc.selectSingleNode(“/domain/devices/disk/source”);`
List<Node> nodes = doc.selectNodes("domain/devices/disk/target");
注意此时返回的对象为Node类型,一般需要强转为Element类型,进行操作。
4.1、 xpath语法
1、选取节点
XPath 使用路径表达式在 XML 文档中选取节点,节点是沿着路径或者 step 来选取的。
常见的路径表达式:
表达式
nodename 选取当前节点的所有子节点
/ 从根节点选取
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
. 选取当前节点
.. 选取当前节点的父节点
@ 选取属性

路径表达式
bookstore 选取 bookstore 元素的所有子节点
/bookstore 选取根元素 bookstore
bookstore/book 选取bookstore 下名字为 book的所有子元素。
//book 选取所有 book 子元素,而不管它们在文档中的位置。
bookstore//book 选取bookstore 下名字为 book的所有后代元素,而不管它们位于 bookstore 之下的什么位置。
//@lang 选取所有名为 lang 的属性。

0 0
原创粉丝点击