您的位置:首页 > 编程语言 > Java开发

Xpath java.lang.NoClassDefFoundError: org/jaxen/JaxenException

2014-11-13 15:59 176 查看
要解析一个XML文件,如下进行解析 

 

public static void main(String[] args) throws Exception {
String xmlpath = DomParse.class.getResource("blackhawk.xml").toString();
SAXReader reader = new SAXReader();
Document document = reader.read(xmlpath);
List projects = document.selectNodes("/blackhawk/disk/uploadPath");
Iterator it = projects.iterator();
while (it.hasNext()) {
Element elm = (Element) it.next();
System.out.println(elm.getText());
}
}

 

 

使用dom4j时报错 

java.lang.NoClassDefFoundError: org/jaxen/JaxenException
at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:196)
at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:205)
at org.dom4j.tree.AbstractNode.selectNodes(AbstractNode.java:161)
at xml.Dom4jDemo.readTest(Dom4jDemo.java:223)
at xml.Dom4jDemo.main(Dom4jDemo.java:188)

 

 

 

 

很简单是没有找到类,可是使用dom4j只需一个包,怎么会缺类呢

原来

List projects = document .selectNodes("/blackhawk/disk/uploadPath");

 

 

 

 

其实这里我使用了XPath进行定位查询节点,而Xpath其实不是dom4j的东西,而是一个标准,使用它需要进入如下两个包

  jaxen-full.jar  
      saxpath.jar


这样才可以使用XPath

可是令我郁闷的是,既然你dom4j是解析xml的,而XPath是如此重要的一个东西,你对它支持的又是如此的好,可你的官方包里为什就是没有加入这两个包呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐