Java SAX解析操作
来源:互联网 发布:大数据分析师 证书 编辑:程序博客网 时间:2024/06/05 22:32
最近学习java的XML解析相关,在SAX解析部分,我看到某资料Handler继承的是DefaultHandler,而我在实际使用中却发现会报错,在搜索了一下之后,发现继承SAXParserHandler可以避免这样的情况。
…………事实证明 是我导错包了
import org.xml.sax.helpers.DefaultHandler;
package gz.nuist.b_xax;import com.sun.org.apache.xml.internal.resolver.readers.SAXParserHandler;import jdk.internal.org.xml.sax.Attributes;import jdk.internal.org.xml.sax.SAXException;import jdk.internal.org.xml.sax.helpers.DefaultHandler;/** * sax解析事件处理程序(类似于事件的监听器) * @author APPle * */public class MyDefaultHandler1 extends SAXParserHandler{/** * 遇到xml文档的开始位置触发此方法 */@Overridepublic void startDocument() {System.out.println("MyDefaultHandler1.startDocument()");}/** * 遇到每个开始标签时触发此方法 * @param arg2: 当前读到的结束标签名称 */@Overridepublic void startElement(String arg0, String arg1, String arg2, org.xml.sax.Attributes arg3)throws org.xml.sax.SAXException {System.out.println("MyDefaultHandler1.startElement()->"+arg2);}/** * 遇到每个结束标签时触发此方法 * @param arg2: 当前读到的结束标签名称 */@Overridepublic void endElement(String arg0, String arg1, String arg2) throws org.xml.sax.SAXException {System.out.println("MyDefaultHandler1.startElement()->"+arg2);}/** * 遇到文本内容触发此方法 * 如何获取当前读到的内容? * char[]: 表示到目前为止读到的文本内容 * start: 表示当前内容的起始位置 * length: 表示当前内容的长度 */@Overridepublic void characters(char[] arg0, int arg1, int arg2) throws org.xml.sax.SAXException {String content = new String(arg0,arg1,arg2);System.out.println("MyDefaultHandler1.characters()->"+content);}/** * 遇到xml文档 的结尾 */@Overridepublic void endDocument() throws org.xml.sax.SAXException {System.out.println("MyDefaultHandler1.endDocument()");}}
这是main 的测试代码
package gz.nuist.b_xax;import java.io.File;import java.io.File;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;import org.xml.sax.SAXException;import com.sun.org.apache.xml.internal.resolver.readers.SAXParserHandler;/** * sax解析入门 * @author APPle * */public class Demo4 {public static void main(String[] args) throws Exception, SAXException {//1)创建SAXParser解析对象SAXParser parser = SAXParserFactory.newInstance().newSAXParser();//2)解析xml文件/** * 参数一: 需要解析的xml文件 * 参数二: 指定的DefaultHandler *//** * 事件编程模式三要求: * 事件源:xml文件 * 事件:解析到开始标签(包含属性),解析到结束标签,解析文本内容 * 监听器:DefaultHandler *///类似于注册监听器parser.parse(new File("./contant.xml"), new MyDefaultHandler1());}}
就是酱紫
阅读全文
0 0
- Java SAX解析操作
- sax解析操作XML
- java sax 解析 xml
- java SAX 解析XML
- Java Sax解析xml
- JAVA SAX解析xml
- java SAX解析XML
- Java Sax解析xml
- Java Sax 解析 xml
- Java Sax解析xml
- Java Sax解析xml
- java SAX解析分析
- Java Sax解析
- Java Sax解析xml
- java sax 解析 实例
- Java Sax解析xml
- Java Sax解析xml
- Java Sax解析xml
- React中setState同步更新策略
- Java 创建多级目录和文件
- STL源码剖析之vector
- python requests指定出口ip
- LeetCode
- Java SAX解析操作
- 01背包问题-个人见解
- CodeForces 446C DZY Loves Fibonacci Numbers(线段树+数论)
- 测试
- 小白学tkinter(Text组件的Indexes(索引)用法)
- STM8的I2C在写地址的时候进入到assert_failed
- 如何有效高速生产天地盖?
- UVA
- HDU 2795 线段树