使用dom4j遇到的问题

在使用dom4j时遇到了一些不符合习惯的处理API,浪费了不少时间。在此进行罗列,以便查阅:
1、xml文件:



 zh-cn


 DocNew Test...



需求:取出title的值“DocNew Test...”;程序代码:
 String title= "";
 List lists= doc.selectNodes("/document/properties");      //doc为一Document对象
 if(lists != null){
  //for(int i=0; i  Element properties = (Element)list.get(list.size()-1);   
  Element property = properties.selectSingNodes("/document/properties/property");
  if(list != null)
   title = property.getText();       
  ------
 }
 System.out.println(title);    
 以上程序输出的将是:zh-cn

       
 String title= "";
 List lists= doc.selectNodes("/document/properties/property");      //doc为一Document对象
 if(lists != null){
  for(int i=0; i   Element ele = (Element)list.get(i);
   if(ele.attribute("name").getValue().equals("title"))
    title = ele.getText();
  }
 }
 System.out.println(title);  
 以上程序输出的将是:DocNew Test...

总结:第一段代码Element properties = (Element)list.get(list.size()-1);取的是第二个properties节点,程序到这里还没问题,但执行properties.selectSingNodes("/document/properties/property")与执行doc.selectSingNodes("/document/properties/property")都是从新编历搜索整个稳当, 结果是一样的,获得的都是节点zh-cn

你可能感兴趣的:(使用dom4j遇到的问题)