Forum >> Principianti >> Rimuovere un nodo da xml

Pagina: 1

    flusso = ET.parse(strFile)

    root=flusso.getroot()

    num_child=0

    eliminati=0

    for squadra in root:

        for child in squadra:

            if child.tag=='identificativo':

                num_child=num_child+1

                for children in child:

                    if children.tag=='testata':

                        for nephew in children:

                            if nephew.tag=='punto':

                                if none2null(nephew.text) not in elenco_punti:

                                    squadra.remove(child)
Ciao,

sono nuovo sul forum! Uso Python di tanto in tanto per piccoli script e da un po' sto cercando di capire come rimuovere un noto "indentato" (non so se sia il termine corretto).

Ho xml molto grandi, da questi devo controllare il valore di un determinato tag "punto" e, se quello non rientra nel mio elenco_punti, devo eliminare tutta la sezione "child".

Una volta terminati i controlli devo riscrivere il file xml con

flusso.write(...)




Il codice che ho scritto non va, credo perché cancella il "child" da squadra, anziché da root.

Non riesco a capire come modificare il tutto.

Spero qualcuno abbia possibilità di aiutarmi!


Grazie,

Davide

--- Ultima modifica di Davidrim in data 2020-07-30 07:24:09 ---

--- Ultima modifica di Davidrim in data 2020-07-30 07:25:17 ---
Ciao, sto utilizzando il comando remove, ma non funziona in modo corretto. Credo sia perché lo applico a "squadra" e non a "root".
__PRESENT
Se rimuovo qualcosa da root funziona bene, qui però devo togliere dei nodi più indentati.


Pagina: 1



Esegui il login per scrivere una risposta.