2013-05-13 38 views
6

私は(GAEサーバ内)は、JavaとXMLファイルを解析しようとしていたとき、私は時々、次のエラーを持っている:要素型「META」は対応する終了タグで終了する必要があり、「</META>」

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

しかし、それは常に起こっていない、時にはそれはうまく動作します。 xmlファイルを解析するプログラムと私はそれらに問題はありません。

これは私が解析しようとしているXMLファイルです: http://www.fulhamchronicle.co.uk/london-chelsea-fc/rss.xml

任意の助けが理解されるであろう。ありがとう。


更新:答えを

感謝。コードを別のパーサーに変更し、ファイルが正しく解析されていることを知らせます。 これは別のフィードのために移動していますが、まったく違うフィードでも同じ行、同じ行になりました。なぜそれが起こっているのだと思いますか?

+2

あなたのファイルは投稿したものですか? 'meta'ノードはありません。あなたが投稿したファイルの10行目も空です – BackSlash

+0

問題はSaxonが原因です。http://ripary.com/xhtml2xhtml.htmlを参照してください。「新しいメタ要素は、Saxonの方法で、ファイルの文字セットとエンコーディングを明示的に指定することです" – 8bitjunkie

答えて

5

ライブドキュメントのようです。かなり頻繁に変化するものである。そこには<meta>タグの兆候もありません。

私は何が起こっているかについて2つの説明を考えることができます:たまに文書が生成されているか、正しく作成さ

  • 期待しているドキュメントの代わりにHTMLエラーページが表示され、XMLパーサーがHTMLの<head><meta>タグに対処できないことがあります。これは、(有効な)HTMLの<meta>タグに一致する/閉じる</meta>タグが必要ないためです。 (そして、HTMLの少なくともいくつかのバージョンのために、終了タグを持つことが許されていません。)

これを追跡するために、あなたはパースの失敗の原因となっている正確な入力をキャプチャする必要があるとしています。

0

これはXMLが、HTMLではありません。

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

XML!パーサーは解析しません。

ファイルには内容がなく、有効なRSSファイルのようには見えません。任意のサーバー側エラーが発生する可能性があります。

3

ちょうど<meta>の代わりに<meta/>を使用して、私はそれに多大な時間を費やしました。

関連する問題