dom4j解析xml 修改节点值时报错,求破!

captain9293 2016-12-02 09:18:38
XML内容如下,我要修改<lastid>节点中的值
<?xml version="1.0" encoding="UTF-8"?>
<config>
<db1>
<url>jdbc:mysql://localhost:3306/testdb1</url>
<user>root</user>
<passwd>123456</passwd>
</db1>
<db2>
<url>jdbc:mysql://localhost:3306/testdb2</url>
<user>root</user>
<passwd>123456</passwd>
</db2>
<lastid>0</lastid>
</config>
于是我自己定义了个config类,里面添加了修改这个值的方法如下:
package com;
import java.io.*;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.xml.*;

public class Config {
private String xml;

public Config(){

}

public Config(String filename){
xml=filename;
}

public void setConfig(String rootname,String last) throws ClassNotFoundException{
try{
File f= new File(xml);
if(!f.exists()){
System.out.println("Error:配置文件不存在!");
System.exit(1);
}
SAXReader reader=new SAXReader();
Document doc;
doc = reader.read(f);
List<Element> lst=doc.selectNodes(rootname);;
Iterator<Element> itr=lst.iterator();
if(itr.hasNext()){
Element lastid=itr.next();
lastid.setText(last);
}
}catch (Exception ex){
System.out.println("Error:"+ex.toString());
}
}

}
调用如下:
int last=0;
Config cfg=new Config("test.xml");
cfg.setConfig("lastid", Integer.toString(last));

但老是报错如下:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext
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.Config.setConfig(Config.java:54)
at com.CopyTest.main(CopyTest.java:45)
Caused by: java.lang.ClassNotFoundException: org.jaxen.NamespaceContext
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 5 more


求破啊,困扰两天了~~~~
...全文
216 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
爱睡觉的阿狸 2016-12-02
  • 打赏
  • 举报
回复
楼主好样的,自己解决问题,
爱睡觉的阿狸 2016-12-02
  • 打赏
  • 举报
回复
captain9293 2016-12-02
  • 打赏
  • 举报
回复
问题已解决,少了jaxen-1.1-beta-7.jar

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧