Dadoelemento con el atributo con minidom
<field name="frame.time_delta_displayed" showname="Time delta from previous displayed frame: 0.000008000 seconds" size="0" pos="0" show="0.000008000"/>
<field name="frame.time_relative" showname="Time since reference or first frame: 0.000008000 seconds" size="0" pos="0" show="0.000008000"/>
<field name="frame.number" showname="Frame Number: 2" size="0" pos="0" show="2"/>
<field name="frame.pkt_len" showname="Packet Length: 1506 bytes" hide="yes" size="0" pos="0" show="1506"/>
<field name="frame.len" showname="Frame Length: 1506 bytes" size="0" pos="0" show="1506"/>
<field name="frame.cap_len" showname="Capture Length: 1506 bytes" size="0" pos="0" show="1506"/>
<field name="frame.marked" showname="Frame is marked: False" size="0" pos="0" show="0"/>
<field name="frame.protocols" showname="Protocols in frame: eth:ip:tcp:http:data" size="0" pos="0" show="eth:ip:tcp:http:data"/>
¿Cómo consigo el campo con name = "frame.len" de inmediato sin iteración a través de cada etiqueta y comprobando los atributos?
Para agregar a esta pregunta, el xml es de 300mb. Me quedé sin memoria la última vez que traté de analizarlo. ¿Alguna sugerencia de mejores bibliotecas de estilo de saxo? – xster
Bueno, 'xml.dom.minidom' es un analizador DOM que necesita leer todo el documento en la memoria. No porque no sea lo suficientemente bueno, sino porque eso es lo que hacen los analizadores DOM. Así que no sé a qué te refieres con "mejores bibliotecas de estilo de saxo". ¿Qué tiene de malo 'xml.sax', el analizador SAX estándar que viene con Python? –
Después de 5000 paquetes (300 mb), intentar cargar el xml bloquea mi computadora. De esos 300mb de datos, solo necesito unos 10kb repartidos por todo el documento. ¿Hay una manera más eficiente de atravesar el xml que lxml y una biblioteca más simple que sax? – xster