解析出错,找不到或无法加载主类 com.imooc.sax.SAXParse
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | package com.imooc.sax; import java.io.IOException; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.SAXException; import com.imooc.sax.handler.MukeHandler; public class SAXParse { public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException { // 创建SAX解析器工厂 SAXParserFactory factory=SAXParserFactory.newInstance(); //创建SAX解析器 SAXParser parser=factory.newSAXParser(); //开始解析XML文档 parser.parse( "D://firstxml.xml" , new MukeHandler()); } } package com.imooc.sax.handler; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class MukeHandler extends DefaultHandler { //定义一个变量来保存当前正在处理的tag private String currentTag; //每当处理文本数据时将触发该方法 @Override public void characters( char [] ch, int start, int length) throws SAXException { String content= new String(ch,start,length); if (content.trim().length()> 0 ) { System.out.println( "<" +currentTag+ ">元素的值是:" +content.trim()); } } //每当解析文件开始时触发该方法 @Override public void startDocument() throws SAXException { System.out.println( "解析文档开始" ); } @Override public void endDocument() throws SAXException { System.out.println( "解析文档结束" ); } @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { System.out.println( "开始处理元素" +qName); currentTag=qName; if (attributes.getLength()> 0 ) { System.out.println( "<" +currentTag+ ">元素的属性如下:" ); for ( int i= 0 ;i<attributes.getLength();i++) { System.out.println(attributes.getQName(i)+ "--->" +attributes.getValue(i)); } } } //解析元素结束时触发该方法 @Override public void endElement(String uri, String localName, String qName) throws SAXException { System.out.println( "处理元素结束" +qName); } } |
10
收起
正在回答
1回答
你好,我测试了你的代码是可以正常运行,并且能够解析xml文件的。你可以把你的报错信息贴一下,方便我们帮助你排查问题。另外,我的运行环境是jdk1.8。祝学习愉快~
Java Web基础入门2018版
- 参与学习 716 人
- 提交作业 185 份
- 解答问题 1363 个
会Java?懂前端基础?想学后台开发?那么,赶快来学习《Java Web入门》路径吧。本路径主要介绍Java Web的基础知识,并配有大量案例,定会让你收获多多!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧