我在unit中调用这个函数的时候,总体是这一行出错,List list = document.selectNodes("//root/node");。那位高人知道这是什么原因?public void TestGetByPath() {
String strXml = "<root><node><test name=\"Jone\">The First Body</test>";
strXml += "<test name=\"Rose\">The secend</test></node><node><test name=\"qwe\">three</test>";
strXml += "<test name=\"1123\">four</test></node></root>";
Document document = null;
try {
document = XmlEngine.LoadString(strXml);
List list = document.selectNodes("//root/node");
for(int i = 0; i < list.size(); i++)
{
Element element = (Element) list.get(i);
this.ShowElement(element);
} } catch (DocumentException de) {
System.out.println(de.getMessage());
}
}
String strXml = "<root><node><test name=\"Jone\">The First Body</test>";
strXml += "<test name=\"Rose\">The secend</test></node><node><test name=\"qwe\">three</test>";
strXml += "<test name=\"1123\">four</test></node></root>";
Document document = null;
try {
document = XmlEngine.LoadString(strXml);
List list = document.selectNodes("//root/node");
for(int i = 0; i < list.size(); i++)
{
Element element = (Element) list.get(i);
this.ShowElement(element);
} } catch (DocumentException de) {
System.out.println(de.getMessage());
}
}
Element root=document.getRootElement();
List list = root.selectNodes("//root/node");
改成这样试试
我已经试过了,也是不行的
错误信息: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 com.devie.xml.XmlDocument.TestGetByPath(XmlDocument.java:39)
at com.devie.xml.XmlDocumentTest.testTestDom4j(XmlDocumentTest.java:14)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)