[Python] Prendere dati da un file xml

Antonio Cavallo a.cavallo a cavallinux.eu
Sab 29 Giu 2013 00:35:04 CEST


Prova con questo (se usi lxml devi solo cambiare import xml.etree.ElementTree as et => import lxml.etree as et , non ne sono sicurissimo pero').

import StringIO
import xml.etree.ElementTree as et


if __name__ == "__main__":

    txt = StringIO.StringIO("""
<?xml version="1.0"?>
<prova>
    <ip>192.168.1.1</ip>
    <prg>FooBar</prg>
    <prg>FooBar1</prg>
    <prg>FooBar2</prg>
</prova>
""".strip())

    doc = et.parse(txt)

    for node in doc.getroot():
        print "nodo A", node.tag, "+", node.text


    for node in doc.getroot().findall("prg"):
        print "nodo B", node.tag, "+", node.text




On 28 Jun 2013, at 21:57, Marcello <marcello a linuxvil.it> wrote:

> visto la mia nubbiaggine ed aver cercato di capire come implementare lxml senza risultati, ho cercato altre strade.
> ho trovato su un forum uno script (quasi fatto su misura per me) 
> lo allego, magari può essere utile.
> 
> from xml.dom import minidom  
> xmlDoc = minidom.parseString(imp)  
> rootElem = xmlDoc.documentElement  
> for elem in rootElem.getElementsByTagName('prg'):       
>         ass_id, = elem.getElementsByTagName('id')  
>         if ass_id.firstChild.data == '0':  
>             Tipo_Subtelaio, = elem.getElementsByTagName('tipo_subtelaio')  
>             Result = [Tipo_Subtelaio.firstChild.data,][0]  
>             print Result
>             
> 
>  Saluti
> Marcello
> 
> 
> Il giorno 28 giugno 2013 17:47, Lorenzo Sutton <lorenzofsutton a gmail.com> ha scritto:
> On 28/06/2013 17:09, a.cavallo a cavallinux.eu wrote:
> c'e' etree nella libreria standard (xml.etree.ElementTree): se non ti serve xpath (o le features piu' sofisticate) va piu' che bene (e lxml supporta la stessa api se il problema si complica).
> 
> +1 per usare qualcosa che ti parsi l'xml e non farlo 'a mano'. lxml è bello potente imho, ma forse in questo caso qualcosa che è nella lib standard va bene.
> Lorenzo.
> 
> 
> 
> On 2013-06-28 16:47, Marco Beri wrote:
> Il giorno 28/giu/2013 16:33, "Marco De Paoli" <depaolim a gmail.com
> [1]> ha scritto:
> 
> fai un piccolo investimento a guardarti il tutorial di lxml e vedrai
> che vivi meglio :-)
>  >
>  > ciao,
>  > Marco
>  >
>  > [0] http://lxml.de/ [2]
> 
> Assolutamente +1!
> 
> Ciao.
>  Marco.
>  _______________________________________________
>  > Python mailing list
>  > Python a lists.python.it [3]
>  > http://lists.python.it/mailman/listinfo/python [4]
>  >
> 
> 
> Links:
> ------
> [1] mailto:depaolim a gmail.com
> [2] http://lxml.de/
> [3] mailto:Python a lists.python.it
> [4] http://lists.python.it/mailman/listinfo/python
> 
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
> 
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
> 
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python



Maggiori informazioni sulla lista Python