document.selectSingleNode()方法报错

报错如下:

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架包,加上就行了。

你可能感兴趣的:(document.selectSingleNode()方法报错)