<div dir="ltr"><div>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: <a href="http://lxml.de/api.html">http://lxml.de/api.html</a><br>
<br></div>H<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/7/15 Honza Javorek <span dir="ltr"><<a href="mailto:jan.javorek@gmail.com" target="_blank">jan.javorek@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div><div><div>Ahoj,<br><br></div>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ř.<br>
<pre><span><?xml version="1.0" encoding="winodws-1250" ?><br></span></pre>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.<br>
<br></div>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ř. <a href="http://lxml.de/lxmlhtml.html" target="_blank">http://lxml.de/lxmlhtml.html</a><br>
<br></div><div>Více ti asi bez znalosti toho XML neporadím.<br></div><div><br></div>H<br><div><div><div><div><div><br></div></div></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/7/15 <span dir="ltr"><<a href="mailto:michal.petrek@gmail.com" target="_blank">michal.petrek@gmail.com</a>></span><div>
<div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Zdravím.<br>
Píšu v pythonu parser XML. Při parsování některých XML však dojde k chybě:<br>
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 3270, column 529<br>
<br>
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.<br>
<br>
Máte s tímto někdo zkušenosti ? Mohl by jste mi prosím někdo poradit jak bych toto mohl řešit?<br>
<br>
Pro parsování používám ElementTree, python 2.7<br>
<br>
Děkuji<br>
MP<br>
_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@py.cz" target="_blank">Python@py.cz</a><br>
<a href="http://www.py.cz/mailman/listinfo/python" target="_blank">http://www.py.cz/mailman/listinfo/python</a><br>
</blockquote></div></div></div><br></div>
</blockquote></div><br></div>