当我尝试访问dom4j解析的XML文档的任何节点时,会收到以下异常:
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.selectNodes(AbstractNode.java:164)
at xmlparser.LevelsExtractor.findI(LevelsExtractor.java:73)
at xmlparser.Main.main(Main.java:33)
我知道解析工作正常,因为我可以让解析器打印出XML文档或将其保存到文件中。这是我正在使用的代码。
要解析文档:
public class Parser {
public Document parseWithSAX(File aFile) throws DocumentException {
SAXReader xmlReader = new SAXReader();
Document doc = xmlReader.read(aFile);
return doc;
}
尝试获取节点,我已经尝试了以下几行代码,但它们都产生了相同的错误:
List list = doc.selectNodes("");
QName qn = new QName("////Token/text()='Introduction'");
Element el = doc.selectSingleNode("////Token/text()='Introduction'");
Node node = doc.selectSingleNode( "/DOCUMENT/PAGE/TEXT/TOKEN/text()= 'Introduction'");
这将打印出 XML 文档,我假设这意味着 doc(已解析的 XML 文档)包含了它应该包含的内容。
System.out.println(doc.asXML());
我非常感谢你的帮助!