<p style="padding:0 0 0 0; margin:0 0 0 0;">Pro jednodušší xpath (než implementuje lxml) by měl stačit standardní modul xml.etree.ElementTree (https://docs.python.org/3/library/xml.etree.elementtree.html#module-xml.etree.ElementTree).</p>

<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>

<p style="padding:0 0 0 0; margin:0 0 0 0;">Pro reakci jen na některé tagy s postupným zpracováním možná XMLPullParser ze stejného modulu, nebo XMLParser (https://docs.python.org/3/library/xml.etree.elementtree.html#pull-api-for-non-blocking-parsing), ale nemám vyzkoušené, jak se to chová u vadných souborů.</p>

<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>

<p style="padding:0 0 0 0; margin:0 0 0 0;">Petr</p>

<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>

<p style="padding:0 0 0 0; margin:0 0 0 0;">______________________________________________________________<br />
> Od: "Ondrej Beranek" <rainbof@gmail.com><br />
> Komu: "Konference PyCZ" <python@py.cz><br />
> Datum: 13.08.2019 11:30<br />
> Předmět: Re: [python] xml parsování<br />
></p>

Ahoj,<br />
 <br />
 když jste to tu tak nakousli, když bych chtěl zpracovávat xml streamy<br />
 předem neznámého obsahu, co na to použít ? Potřebuju aby se to<br />
 nesložilo když přijde nějaký vadný tag abych měl šanci si to ošetřit.<br />
 Tak než začnu psát kolo...<br />
 <br />
 rainbof<br />
 <br />
 13.08.19, Petr Messner <petr.messner@gmail.com>:<br />
 > V těchto případech je asi nejednodušší xpath. Minimálně lxml ho umí.<br />
 ><br />
 > PM<br />
 ><br />
 > út 13. 8. 2019 v 8:22 odesílatel Ctibor.Plasek <Ctibor.Plasek@seznam.cz><br />
 > napsal:<br />
 ><br />
 >> Ahoj.<br />
 >> Mám takovýto xml soubor (viz.přiložený soubor)  - export z ffprobe.<br />
 >> Pro ty hodnoty, které jsou u <stream používám toto:<br />
 >><br />
 >> from xml.dom import minidom<br />
 >> xmldoc = minidom.parse('RainS02E06.mkv.xml')<br />
 >> streamlist = xmldoc.getElementsByTagName('stream')<br />
 >> for s in streamlist:<br />
 >>     print(s.attributes['index'].value)<br />
 >>     print(s.attributes['codec_name'].value)<br />
 >>     try:<br />
 >>         print(s.attributes['sample_rate'].value)<br />
 >>     except:<br />
 >>         print('none')<br />
 >><br />
 >> ale nevím jakým způsobem se dostat k těm "hlubším" hodnotám - např.<br />
 >> <tag key="DURATION-eng" - jaká je např.hodnota value u stream index="1"<br />
 >><br />
 >> Mohli byste mi, prosím, poradit?<br />
 >><br />
 >> Děkuji Ctibor<br />
 >><br />
 >><br />
 >><br />
 >><br />
 >> _______________________________________________<br />
 >> Python mailing list<br />
 >> python@py.cz<br />
 >> <a href="http://www.py.cz/mailman/listinfo/python">http://www.py.cz/mailman/listinfo/python</a><br />
 >><br />
 >> Visit: <a href="http://www.py.cz">http://www.py.cz</a><br />
 >><br />
 ><br />
 _______________________________________________<br />
 Python mailing list<br />
 python@py.cz<br />
 <a href="http://www.py.cz/mailman/listinfo/python">http://www.py.cz/mailman/listinfo/python</a><br />
 <br />
 Visit: <a href="http://www.py.cz">http://www.py.cz</a><br />