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 么搞过!
------解决方案--------------------
两个环境应该有出入,估计是名称空间造成的