要解析一个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是如此重要的一个东西,你对它支持的又是如此的好,可你的官方包里为什就是没有加入这两个包呢?
分享到:
相关推荐
恶心的问题,java.lang.NoClassDefFoundError: org/jaxen/JaxenException 分类: xml 问题 2011-12-29 13:28 0人阅读 评论(0) 收藏 编辑 删除 原来什么问题都没有,就是没有用那个jaxen.jar这个包 可以从...
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230) at org.dom4j.tree.AbstractNode.createXPath...
其中jaxen-full.jar是为了解决ava.lang.NoClassDefFoundError: org/jaxen/JaxenException错误。 下载的rar包内容有: dom4j-1.6.1.jar jaxen-1.1-beta-6.jar jaxen-full.jar 如果大家有好的建议或方法及时告诉我,...
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230) at org.dom4j.tree.AbstractNode.createXPath...
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230) at org.dom4j.tree.AbstractNode.createXPath...
当遇到`java.lang.NoClassDefFoundError: org/jaxen/JaxenException`这样的错误时,通常是因为缺少了Jaxen库,添加此jar包后,就能解决这个问题。 在实际使用中,开发者常常将dom4j和jaxen结合使用。通过dom4j解析...
- **依赖组件**:同时还需导入`jaxen-1.1-beta-6.jar`,该库用于支持XPath表达式查询,如果没有导入可能会出现 `java.lang.NoClassDefFoundError` 的异常。 - **集成步骤**:在项目中集成这两个库可以通过以下步骤...
在使用DOM4J进行XML操作时,如果需要使用XPath表达式来定位和操作XML元素,那么就需要引入jaxen.jar,否则在运行时可能会遇到`java.lang.NoClassDefFoundError`异常。 具体到DOM4J的功能,以下是一些关键知识点: ...
如果不包含`jaxen-1.1-beta-4.jar`,在运行时可能会遇到`java.lang.NoClassDefFoundError`异常。 #### 三、DOM4j基本操作 1. **创建XML文档**: - 使用`DocumentHelper.createDocument()`方法创建一个新的空文档。...