报错如下:
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.selectSingleNode(AbstractNode.java:183)
at com.zl.test.XmlTest.main(XmlTest.java:13)
Caused by: java.lang.ClassNotFoundException: org.jaxen.JaxenException
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 4 more
代码如下:
package com.zl.test;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
public class XmlTest {
public static void main(String[] args) {
String xmlfile="<?xml version= '1.0' encoding='gb2312'?><weighData><a><b>111</b><c>333</c></a><a><b>222</b><c>444</c></a><a><b>555</b><c>666</c></a></weighData>";
try {
Document document = DocumentHelper.parseText(xmlfile);
Element ele = (Element) document.selectSingleNode("//weighData");
if(ele!=null){
System.out.println("=========="+ele.asXML());
}else{
System.out.println("=========="+null);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
是这句Element ele = (Element) document.selectSingleNode("//weighData");报错。这句话在其他工程中正常,没有报错。在本工程中没有提示错误,运行出错。
解决办法:没有加jaxen-1.1.1.jar架包,加上就行了。