这样一段代码,(◎1◎) 和(◎2◎)两种方式都用过了,还是报同样的错误。是不是我还要配置什么??
try{
// (◎1◎) XPath xpath = XPath.newInstance("/protocol-mapping/protocol/code");
// // List childNodes = xpath.selectNodes(doc);
//(@2@)
List childNodes = XPath.selectNodes(doc.getRootElement(), "/protocol/code");
System.out.println("test for xpath");
Iterator itd=childNodes.iterator();
// String scode=null;
while(itd.hasNext()) {
Element childNode = (Element)itd.next(); String name = childNode.getAttributeValue("code");
String text = childNode.getText();
}
}
catch(Exception e){
e.printStackTrace();
}
报错信息如下:
ava.lang.NoClassDefFoundError: org/jaxen/NamespaceContext at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:141) at org.jdom.xpath.XPath.newInstance(XPath.java:126) at org.jdom.xpath.XPath.selectNodes(XPath.java:337) at XMLOperator.main(XMLOperator.java:105)Exception in thread "main"
try{
// (◎1◎) XPath xpath = XPath.newInstance("/protocol-mapping/protocol/code");
// // List childNodes = xpath.selectNodes(doc);
//(@2@)
List childNodes = XPath.selectNodes(doc.getRootElement(), "/protocol/code");
System.out.println("test for xpath");
Iterator itd=childNodes.iterator();
// String scode=null;
while(itd.hasNext()) {
Element childNode = (Element)itd.next(); String name = childNode.getAttributeValue("code");
String text = childNode.getText();
}
}
catch(Exception e){
e.printStackTrace();
}
报错信息如下:
ava.lang.NoClassDefFoundError: org/jaxen/NamespaceContext at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:141) at org.jdom.xpath.XPath.newInstance(XPath.java:126) at org.jdom.xpath.XPath.selectNodes(XPath.java:337) at XMLOperator.main(XMLOperator.java:105)Exception in thread "main"
jdom本身引用了第三方包,你把jdom下的/lib里头的包再引入就可以了。
import org.jdom.*;
import org.jdom.Document;
import org.jdom.input.*;
import org.jdom.output.*;
import java.io.*;
import java.util.Collection;
import javax.naming.*;
import java.util.List;
import java.util.Iterator;
import java.util.Vector;
import org.jdom.xpath.*;
import org.jaxen.*;
import org.jaxen.jdom.*;
import了这么多,都不行
是引入jdom下的/lib里头的.jar,就是在classpath或者jbuilder的工程里头的引用路径,或者eclipse里头的项目属性中的构建路径