URL url = new URL("http://www.site.com/1.xml");
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
XMLHandler handler = new XMLHandler();
parser.parse(url.openStream(),handler);
由于1.xml包含无效的XML字符,因此解析器将抛出异常,例如在CDATA部分中找到了无效的XML字符(Unicode:0x1d)。
但如果我将1.xml读入一个String并过滤掉所有无效字符,则string不能成为parser.parse()方法的参数。
我该怎么办?
答案 0 :(得分:2)
您似乎可以使用java.io.StringReader
从字符串中生成Reader
,然后使用org.xml.sax.InputSource
构建StringReader
。有parse()
的版本需要InputSource
个参数。