首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

dom4j selectSingleNode方法返回为null,该怎么处理

2012-02-24 
dom4j selectSingleNode方法返回为null下面一段代码用于取出web.xml中的session-timeout元素的值,我调用了

dom4j selectSingleNode方法返回为null
下面一段代码用于取出web.xml中的session-timeout元素的值,我调用了dom4j的selectSingleNode方法,但是返回的值总是null,请大家帮我看看错在哪里?
public   HashMap   getSessionTimeOut(String   fileName)throws   MalformedURLException,
DocumentException
{
HashMap   map=new   HashMap();

try
{
Document   document   =   read(fileName);

Node   node=document.selectSingleNode( "//session-timeout ");

map.put( "session-timeout ",   node.getText());
}  
catch   (DocumentException   e)
{
System.out.println(e.getMessage());
}
catch   (IOException   es)
{
System.out.println(es.getMessage());
}
catch(Exception   ee)
{
ee.printStackTrace();
}
return   map;
}
document   的值肯定不为null,这个我已经跟踪过。我再web.xml中设置了这个元素:
  <servlet-mapping>
<servlet-name> action </servlet-name>
<url-pattern> *.do </url-pattern>
        </servlet-mapping>
       
        <session-config>
<session-timeout> 30 </session-timeout>
        </session-config>
每次总说node为null,不知道为什么

[解决办法]
document.selectSingleNode( "//session-timeout ");应该加上他的父节点session-config

document.selectSingleNode( "/session-config/session-timeout ");或者更上一层父节点,可以试试

[解决办法]
//session-timeout的路径是表示该XML文档中所有的session-timeout节点,有可能不是唯一的.所以用这个做xpath的话不一定返回的是唯一的一个Node,这个是我猜的,不知道对不对.LS的方法是正确的.

热点排行
Bad Request.