Android java XML垃圾文件元素之后

时间:2011-01-12 20:07:53

标签: java android xml

我正在使用SAX来读取/解析XML文档,除了这个eclipse告诉我“文件元素之后的垃圾”并且我没有返回数据的特定网站之外我工作得很好

http://www.zachblume.com/apis/rhyme.php?format=xml&word=example

该网站不是我的..只是想从中获取一些数据。

2 个答案:

答案 0 :(得分:7)

是的,那不是XML文档。它试图包含多个根元素:

<?xml version="1.0"?> 
<word>ampal</word> 
<word>ample</word> 
<word>hampel</word> 
<word>hample</word> 
<word>lampl</word> 
<word>pampel</word>
<word>sample</word>

解析器将<word>ampal</word>之后的所有内容视为当时读取完整文档...因此抱怨“文档元素之后的垃圾”。

XML文档只能有一个根,但根目录中只有几个子节点。例如:

<?xml version="1.0"?> 
<words>
  <word>ampal</word> 
  <word>ample</word> 
  <word>hampel</word> 
  <word>hample</word> 
  <word>lampl</word> 
  <word>pampel</word> 
  <word>sample</word>
</words>

答案 1 :(得分:3)

该页面不包含XML。它最多包含一个XML代码段:

<?xml version="1.0"?> 
<word>ampal</word> 
<word>ample</word> 
<word>hampel</word> 
<word>hample</word> 
<word>lampl</word> 
<word>pampel</word> 
<word>sample</word> 

这是不正确的,因为没有文档元素。 SAX将第一个<word>解释为文档元素,并正确地报告“文档元素之后的垃圾”,因为据它所知,文档元素在第1行结束。

要解决此错误,请不要将此文档视为XML。将其下载为文本,删除XML声明(<?xml version="1.0"?>),然后在尝试处理之前将其包装在假文档元素中。