java 中 对SAX的操作

问题描述

java 代码: import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class TestXML03 {public static void main(String[] args) throws DocumentException { SAXReader r=new SAXReader();Document d=r.read(TestXML03.class.getClassLoader().getResource("xml/test.xml"));Element root=d.getRootElement();List<Element> eles=root.selectNodes("book");}}XML:<?xml version="1.0" encoding="UTF-8"?><books><book id="1"> <name>java编程思想</name> <auoth>日本AV女郎</auoth> <price>312</price></book><book id="2"> <name>C++编程思想</name> <auoth>韩国AV女郎</auoth> <price>312</price></book><book id="3"> <name>PHP编程思想</name> <auoth>越南AV女郎</auoth> <price>312</price></book></books>异常:Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenExceptionat 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 FirstOne.TestXML03.main(TestXML03.java:15)Caused by: java.lang.ClassNotFoundException: org.jaxen.JaxenExceptionat java.net.URLClassLoader$1.run(URLClassLoader.java:200)at java.security.AccessController.doPrivileged(Native Method)at java.net.URLClassLoader.findClass(URLClassLoader.java:188)at java.lang.ClassLoader.loadClass(ClassLoader.java:307)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)at java.lang.ClassLoader.loadClass(ClassLoader.java:252)at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)... 4 more红色那段报错很诡异 实在没有办法啦

解决方案

由于dom4j在使用selectNodes方法是依赖jaxen的,所以需要导入这个jar,下载地址为:http://dist.codehaus.org/jaxen/distributions/jaxen-1.1.1.zip
解决方案二:
在项目中导入jaxen.jar就好了,dom4j依赖于这个jar包

时间: 2024-10-31 01:50:03

java 中 对SAX的操作的相关文章

Java中对文件的操作

Java中对文件的操作 java中提供了io类库,可以轻松的用java实现对文件的各种操作.下面就来说一下如何用java来实现这些操作. 1.新建目录 <%@ page contentType="text/html;charset=gb2312"%> <% String filePath="c:/aaa/"; filePath=filePath.toString();//中文转换 java.io.File myFilePath=new java.i

java中循环遍历数组操作时跳出循环问题

问题描述 java中循环遍历数组操作时跳出循环问题 在遍历数组时,对数组中的值进行比较的时候,如果不是数组内的元素要跳出循环 解决方案 可以啊,直接用break就可以跳出循环了. for (int x : arr1) { bool b = false; for (int y: arr2) { if (x == y) { b = true; break; } } if (!b) y不属于arr1 } 解决方案二: 难理解遍历数组怎么会出现不是数组的元素,实现跳出循环使用break就行了 解决方案三

Java中常见的日期操作(取值、转换、加减、比较)_java

Java 的开发过程中免不了与 Date 类型纠缠,准备总结一下项目经常使用的日期相关操作,JDK 版本 1.7,如果能够帮助大家节约那么几分钟起身活动一下,去泡杯咖啡,便是极好的,嘿嘿.当然,我只提供了可行的解决方案,并不保证是最佳实践,欢迎讨论. 1. 日期取值 在旧版本 JDK 的时代,有不少代码中日期取值利用了 java.util.Date 类,但是由于 Date 类不便于实现国际化,其实从 JDK1.1 开始,就更推荐使用 java.util.Calendar 类进行时间和日期方面的处

java中文件读取文件操作数据库

问题描述 java中文件读取文件操作数据库 给个例子 谢谢 解决方案 连接数据库:public class DBConnect {public Connection getConnect(String driver, String url, String user, String pwd) {Connection conn = null;try {Class.forName(driver);conn = DriverManager.getConnection(url, user, pwd);}

java中使用sax解析xml的解决方法_java

在java中,原生解析xml文档的方式有两种,分别是:Dom解析和Sax解析 Dom解析功能强大,可增删改查,操作时会将xml文档以文档对象的方式读取到内存中,因此适用于小文档 Sax解析是从头到尾逐行逐个元素读取内容,修改较为不便,但适用于只读的大文档 本文主要讲解Sax解析,其余放在后面 Sax采用事件驱动的方式解析文档.简单点说,如同在电影院看电影一样,从头到尾看一遍就完了,不能回退(Dom可来来回回读取) 在看电影的过程中,每遇到一个情节,一段泪水,一次擦肩,你都会调动大脑和神经去接收或

java中vector与hashtable操作实例分享_java

众所周知,java中vector与hashtable是线程安全的,主要是java对两者的操作都加上了synchronized,也就是上锁了.因此 在vector与hashtable的操作是不会出现问题.但是有一种情况:就是将一个hashtable copy到另一个hashtable时,假如使用putAll方法的花,会抛出一个 java.util.ConcurrentModificationException异常.先上代码: TestSync.java 复制代码 代码如下: public clas

java中vector与hashtable操作详解

众所周知,java中vector与hashtable是线程安全的,主要是java对两者的操作都加上了synchronized,也就是上锁了.因此 在vector与hashtable的操作是不会出现问题.但是有一种情况:就是将一个hashtable copy到另一个hashtable时,假如使用putAll方法的花,会抛出一个 java.util.ConcurrentModificationException异常.先上代码: TestSync.java  代码如下 复制代码   public cl

java中栈Stack类操作

/** * Stack类 * 栈:桶型或箱型数据类型,后进先出,相对堆Heap为二叉树类型,可以快速定位并操作 * Stack<E>,支持泛型 * public class Stack<E> extends Vector<E> * Stack的方法调用的Vector的方法,被synchronized修饰,为线程安全(Vector也是) * Stack methods: * push : 把项压入堆栈顶部 ,并作为此函数的值返回该对象 * pop : 移除堆栈顶部的对象,

JAVA中,数组的操作与排序

自己写了正向反向的冒泡排序,还用了静态和NEW方法实现. import java.util.Arrays; public class HelloJava { public static void main(String[] args) { // TODO Auto-generated method stub int a[][] = new int[3][4]; for (int i = 0; i < a.length; i++){ for (int j = 0; j < a[i].length