在android上有saxParser错误(格式不正确(无效令牌))

Vit*_*sky 5 java xml

我想从url链接获取xml文件.这个代码适用于android.我正在使用SAXParser来做这件事.但我有错误:

org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 87: not well-formed (invalid token)
Run Code Online (Sandbox Code Playgroud)

在这条线上

 saxParser.parse(url.openStream(),handler);
Run Code Online (Sandbox Code Playgroud)

我的代码是:

URL url = null;

try {
    url = new URL("toryRss1854.xml");
} catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = null;
try {
    saxParser = factory.newSAXParser();
    saxParser.parse(url.openStream(),handler);
Run Code Online (Sandbox Code Playgroud)

可以做些什么?

rhi*_*nds 3

问题似乎是您尝试解析的 XML 不是 UTF-8,因此您需要告诉 SAX 使用哪种编码。

像这样的东西应该可以工作(虽然没有测试过)

InputSource is = new InputSource(url.openStream());
is.setEncoding("Cp1255");
parser.parse(is, handler);
Run Code Online (Sandbox Code Playgroud)