Dom4j中XPath相对路径的使用

Dom4j中XPath相对路径的使用
 
XPath是用来表达XML文档树各种元素的位置的描述。通过XPath直接获取文档元素比较准确,直接,效率也高。
XPath的路径分相对的和绝对的,绝对路径以“/"开始,相对路径以“./”或直接以元素的名开头。
 
xml
<? xml version = "1.0" encoding = "UTF-8" ?>
< persons >
         < country >china </ country >
         < city >zhengzhou </ city >
         < person >
                 < id >101 </ id >
                 < name >zhangsan </ name >
                 < contacts >
                         < email >[email protected] </ email >
                         < tel >0371-85555555 </ tel >
                         < qq >6683965 </ qq >
                 </ contacts >
                 < addresses >
                         < address >
                                 < zipcode >450000 </ zipcode >
                                 < street >aaa </ street >
                         </ address >
                         < address >
                                 < zipcode >450001 </ zipcode >
                                 < street >bbb </ street >
                         </ address >
                 </ addresses >
         </ person >
         < person >
                 < id >102 </ id >
                 < name >lisi </ name >
                 < contacts >
                         < email >[email protected] </ email >
                         < tel >0371-68554545 </ tel >
                         < qq >224488 </ qq >
                 </ contacts >
                 < addresses >
                         < address >
                                 < zipcode >450002 </ zipcode >
                                 < street >xxx </ street >
                         </ address >
                         < address >
                                 < zipcode >450003 </ zipcode >
                                 < street >yyy </ street >
                         </ address >
                 </ addresses >
         </ person >
</ persons >
 
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) {
                File xmlf = new File( "D:\\person.xml");
                Document doc = XmlToolkit.makeDocument(xmlf, "UTF-8");

                Element e_plan = (Element) doc.selectSingleNode( "/persons");
                Element e_id = (Element) e_plan.selectSingleNode( "./country");
                Element e_id1 = (Element) e_plan.selectSingleNode( "country");
                List<Element> 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( "---------------");

        }
}
 
101
102
---------------

Process finished with exit code 0

你可能感兴趣的:(职场,dom4j,xpath,休闲)