DOM4J读取XML文件

    dom4j是使用Java语言来读写XML文件一个开源XML解析包,使用它可以很轻松的操作XML文件。关于dom4j主要用到的就是对xml文件的读写功能,这里简要总结。

    读写XML文档主要依赖于org.dom4j.io包,其中提供DOMReader和SAXReader两不同方式,但是DOMReader只有一种read方法,而SAXReader有多个read方法,使用更灵活。

    SAXReaderread方法是重载的,可以从InputStream,File, Url等多种不同的源来读取

SAXReader为例:

//我们视频中的用法
SAXReader reader = newSAXReader();
InputStream in =Thread.currentThread().getContextClassLoader().getResourceAsStream("sys_config.xml");
Document doc=reader.read(in);
这种方法是把 InputStream 作为源来读取。

//使用文件作为源
SAXReader reader = newSAXReader();
StringxmlName = "../aaa.xml";
FilexmlFile = new File(xmlAddress);//转为file
Document doc=reader.read(xmlFile);

read方法得到的Document对象就代表了整个XML,这样我们就等于拿到了整个xml文档。

 

    读取后的第二步,就是得到Root节点:使用getRootElement方法。

    Element  elt = doc.getRootElement();

    得到根节点后,我们就可以结合之前学习的DOM知识来操作文档。

 

    另外值得一提的是DOM4J对XPath有良好的支持,如访问一个节点,可直接用XPath选择

    //获取foo下面所有bar节点,返回List

    List list =document.selectNodes( //foo/bar );


    //获取foo/bar下面author节点,这里使用的是返回找到的第一个匹配节点

    Node node =document.selectSingleNode(//foo/bar/author);

    这里使用的是selectSingleNode方法,此方法返回找到的第一个匹配节点,如果没有匹配的节点就返回 null。这个方法貌似只对IE有效,待考证。

    关于XPath还有很多其他的条件格式,这里不再赘述,其实有的时候XPath更像一种选择器,只要你给出条件即可。

    通过以上的一些方法,我们可以得到XML整个文档、文档的根节点、符合某个条件的所有节点以及单独拿到某个节点。有了这些方法,基本上可以应付我们的基本需求,这里也只是对DOM4J读取XML文件做简要介绍,以满足基本的需求,如果有兴趣大家可以深入研究。

  • 12
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值