元素类型“META”必须由匹配的结束标记“”终止

当我尝试使用Java解析XML文件(在GAE服务器中)时,我有时会遇到以下错误:

Parse: org.xml.sax.SAXParseException; lineNumber: 10; columnNumber: 3; The element type "META" must be terminated by the matching end-tag "". 

然而它并没有一直发生,有时它的工作正常。 该程序解析xml文件,我没有问题。

这是我试图解析的XML文件: http : //www.fulhamchronicle.co.uk/london-chelsea-fc/rss.xml

任何帮助将不胜感激。 谢谢。


更新:

谢谢你的回答。 我将我的代码更改为另一个解析器,以及该文件正在正确解析的好消息。 它现在为另一个饲料转移同样的问题,尽管完全不同的饲料,但它之前的工作完全不同。 谁能想到为什么会这样?

这看起来像是一个实时文件; 即一个经常变化的人。 其中也没有标记的迹象。

我可以想到发生了什么的两种解释:

  • 有时文档生成或创建不正确。

  • 有时您会收到HTML错误页面而不是您期望的文档,并且XML解析器无法处理HTML 中的标记。 这是因为(有效)HTML中的标记不需要具有匹配/关闭标记。 (至少对于某些版本的HTML,不允许使用结束标记。)

要跟踪此情况,您将必须捕获导致解析失败的精确输入。

只使用而不是 ,我花了很多时间,最后,我发现答案就是它!

它不是XML而是HTML:

< !DOCTYPE html PUBLIC“ – // W3C // DTD HTML 4.01 // EN”“ http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd ”>

XML解析器不会解析它。

我看到该文件没有任何内容,它看起来不像有效的RSS文件。 可能是任何服务器端错误发生。