解析xml时,报错:WARN/System.err(207): org.apache.harmony.xml.ExpatParser$ParseException: At line 1,

本文记录了一次使用SAX解析XML文件过程中遇到的问题及解决办法。作者跟随mars老师的教程实现了一个MP3播放器中的XML解析功能,但在运行时遇到了解析失败的错误。经过排查,发现问题是由于服务器上的XML文件存在定义错误导致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近两天看mars老师的mp3播放器,一步一步跟着老师敲的代码,结果运行起来,解析xml时总是报错

	private List<Mp3Info> parseXML(String xmlStr){
		SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
		List<Mp3Info> infos = new ArrayList<Mp3Info>();
		try{
			XMLReader xmlReader = saxParserFactory.newSAXParser().getXMLReader();
			Mp3ContentHandler mp3ListContentHandler = new Mp3ContentHandler(infos);
			xmlReader.setContentHandler(mp3ListContentHandler);
			xmlReader.parse(new InputSource(new StringReader(xmlStr)));
			for (Iterator<Mp3Info> iterator = infos.iterator(); iterator.hasNext();) {
				Mp3Info mp3Info = (Mp3Info) iterator.next();
				System.out.println(mp3Info);
			}
		}
		catch(Exception e){
			e.printStackTrace();
		}
		return infos;
	}
这个方法是对下载的xml文件的简析

但是这句xmlReader.parse(new InputSource(new StringReader(xmlStr)));执行不了


String xml = downloadXML("http://192.168.136.125:8080/mp3/resouces.xml");
			System.out.println(xml);
			parseXML(xml);

这段代码是调用上面的方法
System.out.println(xml);
这个可以输出得到的xml文本
xmlReader.parse(new InputSource(new StringReader(xmlStr)));就这句执行了不了

折腾了好长时间,都快怒砸本了!!

无奈中查看了一下服务器中的xml文件,发现xml的定义中有个下错误

  希望碰到此类问题的朋友能早点解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值