[英]XMLDecoder >> java.lang.IllegalArgumentException: Unsupported element
[英]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.