最近两天看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的定义中有个下错误
希望碰到此类问题的朋友能早点解决
本文记录了一次使用SAX解析XML文件过程中遇到的问题及解决办法。作者跟随mars老师的教程实现了一个MP3播放器中的XML解析功能,但在运行时遇到了解析失败的错误。经过排查,发现问题是由于服务器上的XML文件存在定义错误导致。
3772

被折叠的 条评论
为什么被折叠?



