当前位置: 代码迷 >> Java Web开发 >> suse下dom4j的selectNodes返回值为空有关问题
  详细解决方案

suse下dom4j的selectNodes返回值为空有关问题

热度:35   发布时间:2016-04-17 11:13:00.0
suse下dom4j的selectNodes返回值为空问题
今天在做项目时遇到一个dom4j的取xml的问题,xml文件是正确的。。
代码大致如下
Document doc = saxReader.read(new File(file name)); //这行解析成功
public void getElement(String name)
{
  List elementsList = doc.selectNodes("//" + name);
  if ((elementsList != null) && (elementsList.size() > index))
  {
  Object obj = elementsList.get(index);
  if (obj instanceof DefaultDocument)
  {
  return ((DefaultDocument)obj).getRootElement();
  }
  return (Element)elementsList.get(index);
  }
  return null;
}
在window下运行正常。

但是在suse环境下,
List elementsList = doc.selectNodes("//" + name);
这行代码取不到值,只能返回一个List对象。传进来的name是在xml文件中有的。
不知道有谁遇到过类似问题没。
我是解决了这个问题
使用doc.getRootElement.selectNodes("//"+name); 就可以了。
但是不明白为什么。
可能suse环境做了什么设置还是什么。
请教高手了。
回帖给分



------解决方案--------------------
suse 么搞过!
------解决方案--------------------
两个环境应该有出入,估计是名称空间造成的
  相关解决方案