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).
 
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ů.
 
Petr
 
______________________________________________________________
Od: "Ondrej Beranek" <rain...@gmail.com>
Komu: "Konference PyCZ" <python@py.cz>
Datum: 13.08.2019 11:30
Předmět: Re: [python] xml parsování

Ahoj,

když jste to tu tak nakousli, když bych chtěl zpracovávat xml streamy
předem neznámého obsahu, co na to použít ? Potřebuju aby se to
nesložilo když přijde nějaký vadný tag abych měl šanci si to ošetřit.
Tak než začnu psát kolo...

rainbof

13.08.19, Petr Messner <petr.mess...@gmail.com>:
> V těchto případech je asi nejednodušší xpath. Minimálně lxml ho umí.
>
> PM
>
> út 13. 8. 2019 v 8:22 odesílatel Ctibor.Plasek <ctibor.pla...@seznam.cz>
> napsal:
>
>> Ahoj.
>> Mám takovýto xml soubor (viz.přiložený soubor)  - export z ffprobe.
>> Pro ty hodnoty, které jsou u <stream používám toto:
>>
>> from xml.dom import minidom
>> xmldoc = minidom.parse('RainS02E06.mkv.xml')
>> streamlist = xmldoc.getElementsByTagName('stream')
>> for s in streamlist:
>>     print(s.attributes['index'].value)
>>     print(s.attributes['codec_name'].value)
>>     try:
>>         print(s.attributes['sample_rate'].value)
>>     except:
>>         print('none')
>>
>> ale nevím jakým způsobem se dostat k těm "hlubším" hodnotám - např.
>> <tag key="DURATION-eng" - jaká je např.hodnota value u stream index="1"
>>
>> Mohli byste mi, prosím, poradit?
>>
>> Děkuji Ctibor
>>
>>
>>
>>
>> _______________________________________________
>> Python mailing list
>> python@py.cz
>> http://www.py.cz/mailman/listinfo/python 
<http://www.py.cz/mailman/listinfo/python>
>>
>> Visit: http://www.py.cz <http://www.py.cz>
>>
>
_______________________________________________
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python 
<http://www.py.cz/mailman/listinfo/python>

Visit: http://www.py.cz <http://www.py.cz>

_______________________________________________
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Odpovedet emailem