java.lang.IllegalArgumentException:不支持的元素:rss

java.lang.IllegalArgumentException: Unsupported element: rss

我正在尝试 'GET' 一个 rss 提要。

 public RssFeed(String url) {
    _url = url;
    String res = this.api.get(url);
    ByteArrayInputStream bis = new ByteArrayInputStream(res.getBytes());

    try {
        bis.close();
    } catch (IOException e) {
        e.printStackTrace();
    }

    XMLDecoder decoder = new XMLDecoder(bis);
    try {
        Object xml = decoder.readObject();
        _response = xml.toString();
    } catch(Exception e) {
        e.printStackTrace();
    } finally {
        decoder.close();
    }
}

当我检查 'res' 里面的东西时。它似乎得到了整个 XML。 但是,我试图对其进行解码并得到:

java.lang.IllegalArgumentException: Unsupported element: rss

有人可以帮我吗?我是 Java.

的新手

谢谢!

XMLDecoder 用于 XMLEncoder 创建的元素。由于您是从网上抓取此 XML,根据这些 类,此 XML 中的元素可能无效。使用更通用的 XML 解析器,例如 DocumentBuilder::parse() 来处理这个问题。

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();

try {
    builder.parse(url);
} catch (IOException e) {
    e.printStackTrace();
} catch (SAXParseException e) {
    e.printStackTrace();
} catch (IllegalArgumentException e) {
    e.printStackTrace();
}