dom4j 块数查寻节点(非遍历方式)
dom4j 块数查找节点(非遍历方式)
使用下面这种方式能够直接根据节点的关系查找到节点,然后访问里面的值或者属性
package com.hb; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.List; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Node; import org.dom4j.io.SAXReader; import org.junit.Test; import org.xml.sax.SAXException; public class Dom4jReadXml { /** * 随机的获取节点,即指明节点就能得到相关数据 */ @Test public void RandomReadNode(){ SAXReader saxReader = new SAXReader(); String filePath = "d:/AppProperty.xml"; File file = new File(filePath); try { Document document = saxReader.read(file); //使用这种方式读取节点需要导入jaxen.jar包 List list = document.selectNodes("/result/value/no"); Iterator it = list.iterator(); while(it.hasNext()){ Node node = (Node)it.next(); System.out.println(node.getText()); } System.out.println(document.selectNodes("value").size()); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
备注:如果想要上面的方法运行正确,除了需要引入dom4j.jar还需要jaxen.jar包