Ir para conteúdo
Fórum Script Brasil
  • 0

Modificação De Nó Em Xml


edymbh

Pergunta

Como eu faço para modificar um node em xml...???

exemplo:

<?xml version="1.0" ?>

<Principal>

<Usuario>

<Id_Usuario>

1

</Id_Usuario>

<Nome>

Edson

</Nome>

<Endereco>

Rua Humaita

</Endereco>

<Sexo>

Masculino

</Sexo>

<Cpf>

07118712647

</Cpf>

<Telefone>

31-34119162

</Telefone>

</Usuario>

<Usuario>

<Id_Usuario>

2

</Id_Usuario>

<Nome>

Paulo

</Nome>

<Endereco>

Rua Humaita

</Endereco>

<Sexo>

Masculino

</Sexo>

<Cpf>

07118712647

</Cpf>

<Telefone>

31-34119162

</Telefone>

</Usuario>

</Principal>

vamos super que eu escolho o usuario om o id 1 com eu faço para modificar os nodes filho dele

tem algum métoo especifico.....???

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Não, é só mesmo mudar a propriedade nodeValue do elemento que você quer alterar:

from xml.dom import minidom

x = minidom.parse(r"C:\pasta\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:
        telefone = usuario.getElementsByTagName("Telefone")[0].firstChild
        telefone.nodeValue = "21212121"
        
print x.toprettyxml()

Certo? ;)

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...