簡體   English   中英

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

[英]java.lang.IllegalArgumentException: Unsupported element: rss

我正在嘗試“獲取”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創建的XMLEncoder 由於您是從 Web 上抓取此 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();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM