Sign in to follow this  
edymbh

Remoção De Node Em Xml

Recommended Posts

Como eu faço para remover um node em xml usando python...?

por exemplo tenho o seguinte xml

<?xml version="1.0" ?>

<Principal>

<Usuario>

<Id_Usuario>

1

</Id_Usuario>

<Sexo>

Masculino

</Sexo>

<Telefone>

31-34119162

</Telefone>

<Nome>

Julio

</Nome>

</Usuario>

<Usuario>

<Id_Usuario>

2

</Id_Usuario>

<Sexo>

Masculino

</Sexo>

<Telefone>

31-4624851

</Telefone>

<Nome>

Pedro

</Nome>

</Usuario>

</Principal>

quero deletar o usuario que tem o id 1 por exemplo eu vi na internet que para o dom tem a função:

Node.removeChild()

o que eu tenho que passar como parâmetro alguém sabe??

alguém tem algum exemplo presciso disso urgente tem 3 dias que stou tentando fazer isso

Edited by edymbh

Share this post


Link to post
Share on other sites

É só passar para este método o nó que você quer remover. A única observação é que você tem que chamar o método removeChild do pai deste nó passando o filho. Exemplo com o seu próprio XML:

from xml.dom import minidom

x = minidom.parse("teste.xml")

principal = x.getElementsByTagName("Principal")[0]
usuarios = principal.getElementsByTagName("Usuario")

for usuario in usuarios:
    id = int(usuario.getElementsByTagName("Id_Usuario")[0].childNodes[0].nodeValue)

    if id==1:
        principal.removeChild(usuario)
        
print x.toprettyxml()

Certo? ;)

Graymalkin

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this