[python] xml parsování

Petr Přikryl prikryl na atlas.cz
Úterý Srpen 13 12:12:10 CEST 2019


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" <rainbof na gmail.com>
> Komu: "Konference PyCZ" <python na 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.messner na 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.Plasek na 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 na 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 na 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>

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20190813/6f24186b/attachment.html>


Další informace o konferenci Python