dom4j操作XML

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这个问题我可以回答。以下是Java使用dom4j读取XML文件的基本步骤: 1. 导入dom4j的jar包 你可以通过maven或手动下载jar包的方式导入dom4j的jar包。 2. 创建SAXReader对象 SAXReader是dom4j的核心类,用于读取XML文件并将其转换为Document对象。 3. 加载XML文件 使用SAXReader对象的read方法加载XML文件,并将其转换为Document对象。 4. 获取根节点 通过Document对象的getRootElement方法获取XML文件的根节点。 5. 遍历节点 可以使用递归的方式遍历XML文件的节点,获取节点的名称、属性、子节点等信息。 下面是一个简单的示例代码: ```java import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import java.io.File; public class Dom4jDemo { public static void main(String[] args) { try { // 创建SAXReader对象 SAXReader reader = new SAXReader(); // 加载XML文件 Document document = reader.read(new File("example.xml")); // 获取根节点 Element root = document.getRootElement(); // 遍历节点 print(root); } catch (Exception e) { e.printStackTrace(); } } public static void print(Element element) { // 输出节点名称 System.out.println(element.getName()); // 输出节点属性 List<Attribute> attributes = element.attributes(); for (Attribute attribute : attributes) { System.out.println(attribute.getName() + ": " + attribute.getValue()); } // 输出子节点 List<Element> elements = element.elements(); for (Element e : elements) { print(e); } } } ``` 以上是一个简单的dom4j读取XML文件的示例代码,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值