老师。我这个为啥报错啊,我安装的jaxen版本是1.1.1的,没看见1.2的呀
来源:4-8 XPath实验室
慕工程8205364
2020-11-23 20:22:20
# 具体遇到的问题
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
在这里输入代码,可通过选择【代码语言】突出显示
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
public class XpathTest {
public void xpath(String xpathExp) {
String file="d:/java/xml/src/one.xml";
SAXReader reader=new SAXReader();
try {
Document document = reader.read(file);
List<Node> nodes = document.selectNodes(xpathExp);
for(Node node:nodes) {
Element emp = (Element) node;
System.out.println(emp.attributeValue("nu"));
System.out.println(emp.elementText("name"));
System.out.println(emp.elementText("age"));
System.out.println(emp.elementText("wage"));
System.out.println("=================================");
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
XpathTest as=new XpathTest();
// as.xpath("/one/company");
as.xpath("//company");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!--<!DOCTYPE one SYSTEM "one.dtd"> --><!-- 公司员工信息 -->
<one xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="one.xsd">
<company nu="3010">
<name>张三</name>
<age>31</age>
<wage>5000</wage>
<department>
<department-name>会计部</department-name>
<position>普通员工</position>
</department>
</company>
<company nu="3011">
<name>李四</name>
<age>22</age>
<wage>5500</wage>
<department>
<department-name>会计部</department-name>
<position>普通员工</position>
</department>
</company>
<company nu="3012">
<name>老王</name>
<age>40</age>
<wage>15000</wage>
<department>
<department-name>工程部</department-name>
<position>经理</position>
</department>
</company>
<company nu="3013">
<name>李天柱</name>
<age>39</age>
<wage>25000</wage>
<department>
<department-name>工程部</department-name>
<position>负责人</position>
</department>
</company>
<company nu="3014">
<name>王浩</name>
<age>30</age>
<wage>3000</wage>
<department>
<department-name>工程部</department-name>
<position>普通员工</position>
</department>
</company>
<company nu="3015">
<name>龙飞</name>
<age>29</age>
<wage>2500</wage>
<department>
<department-name>项目部</department-name>
<position>普通员工</position>
</department>
</company>
<company nu="3016">
<name>丽华</name>
<age>22</age>
<wage>4000</wage>
<department>
<department-name>人事部</department-name>
<position>普通员工</position>
</department>
</company>
</one>
这个是报错的
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException
at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:222)
at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:202)
at org.dom4j.tree.AbstractNode.selectNodes(AbstractNode.java:159)
at com.imooc.dom4j.XpathTest.xpath(XpathTest.java:17)
at com.imooc.dom4j.XpathTest.main(XpathTest.java:34)
Caused by: java.lang.ClassNotFoundException: org.jaxen.JaxenException
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 5 more
1回答
好帮手慕小脸
2020-11-24
同学你好,
报错信息是提示,没有找到这个org.jaxen.JaxenException类。
同学导入了jaxen的jar后,有执行如下步骤吗?如果没有,右键jar包选择Build Path--Add to Build Path
上述步骤还是不可以的话,同学可尝试下载老师的源码,在lib目录找如下两个jar包,并复制到自己的lib目录下试试
祝学习愉快~
相似问题