我正在使用SAX来读取/解析XML文档,除了这个eclipse告诉我“文件元素之后的垃圾”并且我没有返回数据的特定网站之外我工作得很好
http://www.zachblume.com/apis/rhyme.php?format=xml&word=example
该网站不是我的..只是想从中获取一些数据。
答案 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"?>
),然后在尝试处理之前将其包装在假文档元素中。