2016-11-13 100 views
0

这是回应,我想分析:改造2如何解析XML没有根元素

<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&amp;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>对象?

+0

您修复了服务器以返回有效的XML。 – CommonsWare

+0

我没有自己的服务器。有没有办法解析这个? – rhari

+0

“我不拥有服务器” - 然后与服务器所有者交谈,并要求他们返回有效的XML。 “有没有办法解析这个?” - 将破损的XML封装在你自己的根元素中(例如' ...'),然后解析它。 – CommonsWare

回答

0

您可以尝试使用自定义分析器来解析响应。这是一种样板解决方案。你需要编写一个通用的,不可重用的代码。查看另一个answer以获取有关Retrofit2的自定义分析器的更多详细信息。