import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class TestWebService {
public String getName(){
return "open is a good boy";
}
public int getAge()
{
return 11;
}
public static void main(String arg[]){
// //创建doucument 对象
// Document document=DocumentHelper.createDocument();
// //创建xml 文档的根节点
// Element root=document.addElement("books");
// //加xml的注释
// root.addComment("this is testing for dom4j creat a xml");
// //追加孩子节点
// Element book=root.addElement("book");
// //加入内容
// book.addAttribute("show", "yse");
// Element title=book.addElement("tile");
// title.addText("西游记");
// Element book2=root.addElement("book");
// //加入内容
// book2.addAttribute("show", "no");
// Element title2=book2.addElement("title");
// title2.addText("红楼梦");
// Element book3=root.addElement("book");
// //加入内容
// book3.addAttribute("show", "no");
// Element title3=book3.addElement("title");
// title3.addText("水浒传");
// Element owner=root.addElement("owner");
// owner.addText("oupeng");
//
// try {
// String dirPath=System.getProperty("user.dir");
// System.out.print(dirPath);
// OutputFormat format=new OutputFormat();
// XMLWriter writer=new XMLWriter(new FileOutputStream(dirPath+"\\test.xml"),format);
// writer.write(document);
// writer.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
modifyXML();
}
public static void modifyXML()
{
try{
String dirPath=System.getProperty("user.dir");
SAXReader reader=new SAXReader();
Document document=reader.read(new File(dirPath+"\\test.xml"));
//先用xpath 查找对象
List list=document.selectNodes("/books/book/@show");
Iterator it=list.iterator();
while (it.hasNext())
{
Attribute attr=(Attribute)it.next();
if(attr.getValue().equalsIgnoreCase("yse"))
{
attr.setValue("你好,我修改了xml");
}
}
XMLWriter writer=new XMLWriter(new FileOutputStream(dirPath+"\\test.xml"));
writer.write(document);
writer.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
}
出错在: List list=document.selectNodes("/books/book/@show");
解决方法:
下载一个 jaxen.1.1.jar包放到项目中
总结:
java.lang.NoClassDefFoundError可能有俩种:
1.java.lang.NoClassDefFoundError指向的"org/jaxen/JaxenException "这个字符串所指对象的类不存在
如不是自定义类的话,到 http://www.findjar.com 查找包含该信息的jar包并引入.
2.类的加载先后顺序有问题
如启动web application的时候,类的加载是有一个先后顺序的,如果应该先加载的类在后面加载,别的类在调用时找不到它,那么也会报这个错.
其他 java.lang.NoClassDefFoundError 异常处理都可这样处理.
分享到:
相关推荐
org/jaxen/JaxenException.class 1.2 KB org/jaxen/JaxenHandler.class 10.75 KB org/jaxen/JaxenRuntimeException.class 1.63 KB org/jaxen/NamedAccessNavigator.class 394.0 bytes org/jaxen/...
恶心的问题,java.lang.NoClassDefFoundError: org/jaxen/JaxenException 分类: xml 问题 2011-12-29 13:28 0人阅读 评论(0) 收藏 编辑 删除 原来什么问题都没有,就是没有用那个jaxen.jar这个包 可以从...
导致java.lang.NoClassDefFoundError: org/jaxen/JaxenException错误
其中jaxen-full.jar是为了解决ava.lang.NoClassDefFoundError: org/jaxen/JaxenException错误。 下载的rar包内容有: dom4j-1.6.1.jar jaxen-1.1-beta-6.jar jaxen-full.jar 如果大家有好的建议或方法及时告诉我,...
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230) at org.dom4j.tree.AbstractNode.createXPath...
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230) at org.dom4j.tree.AbstractNode.createXPath...
Dom4j解析xml文档,支持包jaxen-1.1.6.jar,解决java.lang.NoClassDefFoundError: org/jaxen/JaxenException
jaxen-1.1-beta-6.jar.zip///Dom4j解析xml文档,支持包jaxen-1.1.6.jar,解决java.lang.NoClassDefFoundError: org/jaxen/JaxenException 全都要积分,自己找了好久找到,再当一次雷锋
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230) at org.dom4j.tree.AbstractNode.createXPath...
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....
jar包只有两个dom4j和jaxen 后者是xml转javabean用到的,否则会报异常:java.lang.NoClassDefFoundError: org/jaxen/JaxenException。 项目可以直接运行,中间测试数据乱码地方不影响,可以自己替换文字