Dom4j中XPath相对路径的使用

Dom4j中XPath相对路径的使用

 

XPath是用来表达XML文档树各种元素的位置的描述。通过XPath直接获取文档元素比较准确,直接,效率也高。

  XPath的路径分相对的和绝对的,绝对路径以“/"开始,相对路径以“./”或直接以元素的名开头。


样例XML文件如下:

 


 



   china
   zhengzhou
   
       101
       zhangsan
       
               [email protected]
               0371-85555555
               6683965
       

       
          


            450000
            aaa
          

          

            450001
            bbb
          

       
   
   
       102
       lisi
       
          [email protected]
          0371-68554545
          224488
       

       
           

              450002
              xxx
           

           

              450003
              yyy
           

       

   

 


 

 

测试Java代码如下:

 


 

import java.io.File;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;

/**
* XML相对路径测试
*
* @author leizhimin 2010-1-6 11:10:54
*/
public class TestDom {
   public static void main(String[] args) {
    try {
        File xmlf = new File("D://person.xml");
        
        SAXReader reader = new SAXReader();
        Document doc = reader.read(xmlf);
        
        Element e_plan = (Element) doc.selectSingleNode("/persons");
        
        Element e_id = (Element) e_plan.selectSingleNode("./country");
        
        Element e_id1 = (Element) e_plan.selectSingleNode("country");
        
        List eplist = e_plan.selectNodes("/persons/person");
        for (Element ep : eplist) {
            String path = ep.getPath();
            Element id = (Element) ep.selectSingleNode("id");
            System.out.println(id.getText());
        }
        System.out.println("---------------");
    } catch (Exception e) {
        // TODO: handle exception
    }
   }
}


 



输出结果:

 


101
102
---------------

 

你可能感兴趣的:(Java文件操作&解析)