2013-05-13 10 views
6

Mam następujący błąd czasami, kiedy jestem starają się analizować plik XML z Java (w serwerze GAE):Typ elementu „META” musi być rozwiązana przez pasującego end-tag „</META>”

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

Jednak nie dzieje się to przez cały czas, czasami działa dobrze. Program parsujący pliki xml i nie mam z nimi żadnego problemu.

Jest to plik XML Próbuję analizować: http://www.fulhamchronicle.co.uk/london-chelsea-fc/rss.xml

Każda pomoc będzie mile widziane. Dzięki.


Aktualizacja:

Dzięki za odpowiedź. Zmieniłem kod na inny analizator składni i dobrą wiadomość, że plik jest teraz poprawnie parsowany. Zły teraz został przeniesiony dla innego kanału, ten sam problem, ta sama linia pomimo zupełnie innego źródła danych i działała doskonale wcześniej. Czy ktokolwiek mógłby pomyśleć, dlaczego tak się dzieje?

+2

Czy jesteś pewny, że Twój plik został opublikowany? Nie ma węzłów 'meta'. Wiersz 10 opublikowanego pliku jest również pusty – BackSlash

+0

Problem jest spowodowany przez Saxon, zobacz http://ripary.com/xhtml2xhtml.html "Nowy element meta to sposób Saxona, który przypomina nam o jawnym określeniu zestawu znaków i kodowania pliku " – 8bitjunkie

Odpowiedz

5

Wygląda na to, że jest to dokument na żywo; tj. taki, który zmienia się dość często. Nie ma również oznakowania znacznika <meta>.

mogę myśleć dwa wyjaśnienia tego, co się dzieje:

  • Czasem dokument jest generowany lub utworzone nieprawidłowo.

  • Czasami pojawia się strona błędu HTML zamiast oczekiwanego dokumentu, a analizator składni XML nie radzi sobie z tagiem <meta> w kodzie HTML <head>. To dlatego, że znacznik <meta> w (poprawnym) kodzie HTML nie musi mieć pasującego/zamykającego tagu </meta>. (A przynajmniej przez niektórych wersjach HTML, to nie może mieć znacznik zamykający.)

Aby to wyśledzić, będziesz musiał zdobyć precyzyjne wejście, które jest przyczyną parse na niepowodzenie .

0

Nie jest jednak XML HTML:

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

XML! analizator składni nie przetworzy go.

Widzę, że plik nie ma żadnej zawartości i nie wygląda na prawidłowy plik RSS. Może wystąpić dowolny błąd po stronie serwera.

3

po prostu użyj <meta/> zamiast <meta>, spędziłem na nim dużo czasu, w końcu stwierdziłem, że odpowiedź była!

Powiązane problemy