捣鼓了半天,看到解决方案后倍感无语。。
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("data.xml"));
List projects=doc.selectNodes("ReturnInfo/userlist/item");
Iterator it=projects.iterator();
while(it.hasNext()){
Element elm=(Element)it.next();
System.out.println("index:"+elm.attributeValue("index")+" level:"+elm.attributeValue("level")+" nickname:"+elm.attributeValue("nickname")+" country:"+elm.attributeValue("country")+" weiwang:"+elm.attributeValue("weiwang"));
}
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException
at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230)
at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:207)
at org.dom4j.tree.AbstractNode.selectNodes(AbstractNode.java:164)
at com.Test.ModiXMLFile(Test.java:84)
at com.Test.main(Test.java:120)
昨天发现的这个问题,拿出来共享!一般在调用selectNodes()方法做DOM4j解析文档时很容易碰到这个异常,原因是还和一个叫jaxen的jar包,它相当于是XPATH的一个引擎,支持DOM4J和JDOM!导入就OK了!
需要导入dom4j与jaxen两个jar包就可以顺利通过了。