最近两天看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的定义中有个下错误
希望碰到此类问题的朋友能早点解决