[python] Parsování XML - ExpatError: not well-formated

Honza Javorek jan.javorek na gmail.com
Pondělí Červenec 15 18:12:41 CEST 2013


Ještě doplním, že lxml má stejné rozhraní jako ElementTree + něco navíc.
API ElementTree by mělo být podmnožinou toho, co nabízí lxml - to co je
navíc je popsané zde: http://lxml.de/api.html

H


2013/7/15 Honza Javorek <jan.javorek na gmail.com>

> Ahoj,
>
> pokud chceš parsovat XML v Pythonu, doporučuji knihovnu lxml, která je asi
> tím nejrychlejším a nejvybavenějším nástrojem, jaký máš pro tento úkol k
> dispozici. XML, které chceš parsovat, by mělo být validní - tzn. být přesně
> podle specifikace, bez chyb, musí být well-formed. Další věc je kódování
> souboru - pokud je XML uloženo v utf-8, je vše v pořádku a mělo by se ti
> povést jej přečíst. Pokud je soubor v jiném kódování, MUSÍ mít na začátku
> hlavičku (XML deklaraci) s definovaným kódováním, např.
>
> <?xml version="1.0" encoding="winodws-1250" ?>
>
> Pokud tam hlavička není, předpokládá se UTF-8. Je-li v tomto nějaký
> rozkol, parser spadne na kolizních znacích.
>
> Jestli máš nevalidní XML a stejně ho potřebuješ zparsovat, tak to je pak
> už trochu vyšší dívčí - nejjednodušeji to jde řešit asi tak, že místo XML
> parseru použiješ nějaký HTML parser, který je benevolentnější (byť, pozor,
> v detailech není s XML parserem úplně zaměnitelný), např.
> http://lxml.de/lxmlhtml.html
>
> Více ti asi bez znalosti toho XML neporadím.
>
> H
>
>
>
> 2013/7/15 <michal.petrek na gmail.com>
>
> Zdravím.
>> Píšu v pythonu parser XML. Při parsování některých XML však dojde k chybě:
>> xml.parsers.expat.ExpatError: not well-formed (invalid token): line 3270,
>> column 529
>>
>> Dočetl jsem se že se může jednat o problém pokud XML obsahuje unicode
>> znaky. Už jsem ale nenašel žádné informace jak tento problém efektivně
>> řešit.
>>
>> Máte s tímto někdo zkušenosti ? Mohl by jste mi prosím někdo poradit jak
>> bych toto mohl řešit?
>>
>> Pro parsování používám ElementTree, python 2.7
>>
>> Děkuji
>> MP
>> _______________________________________________
>> Python mailing list
>> Python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20130715/f3207ca2/attachment.html>


Další informace o konferenci Python