【发布时间】:2016-11-13 16:03:12
【问题描述】:
这是我要解析的响应:
<paste>
<paste_key>UW369pYh</paste_key>
<paste_date>1478837545</paste_date>
<paste_title>10/11/2016 - KTOS</paste_title>
<paste_size>16201</paste_size>
<paste_expire_date>0</paste_expire_date>
<paste_private>0</paste_private>
<paste_format_short>text</paste_format_short>
<paste_format_long>None</paste_format_long>
<paste_url>http://pastebin.com/UW369pYh</paste_url>
<paste_hits>5869</paste_hits>
</paste>
<paste>
<paste_key>NqQTQeYj</paste_key>
<paste_date>1478968384</paste_date>
<paste_title>Buffs/Nerfs de las megas en S&M</paste_title>
<paste_size>2232</paste_size>
<paste_expire_date>0</paste_expire_date>
<paste_private>0</paste_private>
<paste_format_short>text</paste_format_short>
<paste_format_long>None</paste_format_long>
<paste_url>http://pastebin.com/NqQTQeYj</paste_url>
<paste_hits>589</paste_hits>
</paste>
<paste>
<paste_key>xnrqJF59</paste_key>
<paste_date>1478849206</paste_date>
<paste_title>Lista_Mario_PT.m3u</paste_title>
<paste_size>6079</paste_size>
<paste_expire_date>0</paste_expire_date>
<paste_private>0</paste_private>
<paste_format_short>cpp</paste_format_short>
<paste_format_long>C++</paste_format_long>
<paste_url>http://pastebin.com/xnrqJF59</paste_url>
<paste_hits>1928</paste_hits>
</paste>
<paste>
<paste_key>RHrCmtpG</paste_key>
<paste_date>1478717113</paste_date>
<paste_title>Rigged US Elections 2016</paste_title>
<paste_size>1341</paste_size>
<paste_expire_date>0</paste_expire_date>
<paste_private>0</paste_private>
<paste_format_short>text</paste_format_short>
<paste_format_long>None</paste_format_long>
<paste_url>http://pastebin.com/RHrCmtpG</paste_url>
<paste_hits>8463</paste_hits>
</paste>
如您所见,没有根元素,只有粘贴元素的列表。现在我使用的响应类型为粘贴,只能解析响应的第一个元素。
如何将整个响应解析为 List<Paste> 对象?
【问题讨论】:
-
您修复了服务器以返回有效的 XML。
-
我不拥有服务器。有没有办法解析这个?
-
“我不拥有服务器”——然后与服务器所有者交谈并要求他们返回有效的 XML。 “有没有办法解析这个?” -- 将损坏的 XML 包装在您自己的根元素中(例如,
<pastes>...</pastes>),然后对其进行解析。 -
您可以在开头附加一个虚拟根标签并在字符串末尾关闭它然后解析它。
标签: java android xml-parsing retrofit2 simple-xml-converter