quiero conseguir sacar informacion desde un xml y luego tras modificarla
volverla a grabar en el mismo xml...

estoy aprendiendo python y no se nada de xml, asi que supongo que es muy
facil para la mayoria de ustedes.

Bueno les adjunto el ficher py donde estoy haciendo las pruebas y el archivo
xml...

gracias por su ayuda.
# -*- coding: cp1252 -*-
from xml.dom import minidom
import os

##localizo el nodo arbol usuario
datosusur = 
minidom.parse('persona.xml').childNodes[0].childNodes[1].childNodes[1]

##localizo el nombre de ese arbol
usur = datosusur.getElementsByTagName('nombre')[0].childNodes[0]

##imprimo el valor de el campo nombre de usuario
print usur.nodeValue

##le cambio el valor
usur.nodeValue = 'no te cambias?'

##confirmo que ha cambiado
print usur.nodeValue

##Abro el fichero en donde guardar el documento XML.

fichero = open(('persona.xml'), "w")

##copio el arbol xml completo
raiz_local = arbol_global.documentElement

##confirmo que es correcta la operacion
##print arbol_glb.toxml()

##lo copio al fichero ... pero no me hace nada ... básicamente me lo borra 
completo. y no le graba el encabezado de la codificación ISO
raiz_local.writexml((fichero), encoding="iso-8859-1")

##cierro el fichero
fichero.close()

<?xml version="1.0" encoding="iso-8859-1"?>

<persona>
	<usuario>
		<datos_pesonales>
			<nombre>nombre usuario</nombre>
			<primerapellido>1apellido usuario</primerapellido>
			<segundoapellido>2apellido usuario</segundoapellido>
			<dni>su dni</dni>
			<direccion>direccion</direccion>
			<restodireccion>restodireccion</restodireccion>
			<codigopostal>08001</codigopostal>
			<poblacion>madrid</poblacion>
			<provincia>madrid</provincia>
			<telefono>555555555</telefono>
		</datos_pesonales>
		<datosempresa>
			<nombreempresa>0</nombreempresa>
			<colegio>0</colegio>
			<numerocolegiado>1</numerocolegiado>
		</datosempresa>
	</usuario>
	<intervinientes>
		<arquitecto1>
			<nombre>nombre arq1</nombre>
			<primerapellido>1apellido arq</primerapellido>
			<segundoapellido>2apellido arq</segundoapellido>
			<dni>su dni</dni>
			<direccion>direccion</direccion>
			<restodireccion>restodireccion</restodireccion>
			<codigopostal>08001</codigopostal>
			<telefono>555555555</telefono>
			<numerocolegiado>arq1</numerocolegiado>
		</arquitecto1>
		<arquitecto2>
			<nombre>nombre arq2</nombre>
			<primerapellido>1apellido arq</primerapellido>
			<segundoapellido>2apellido arq</segundoapellido>
			<dni>su dni</dni>
			<direccion>direccion</direccion>
			<restodireccion>restodireccion</restodireccion>
			<codigopostal>08001</codigopostal>
			<telefono>555555555</telefono>
			<numerocolegiado>arq2</numerocolegiado>
		</arquitecto2>
		<arquitecto3>
			<nombre>nombre arq3</nombre>
			<primerapellido>1apellido arq</primerapellido>
			<segundoapellido>2apellido arq</segundoapellido>
			<dni>su dni</dni>
			<direccion>direccion</direccion>
			<restodireccion>restodireccion</restodireccion>
			<codigopostal>08001</codigopostal>
			<telefono>555555555</telefono>
			<numerocolegiado>arq3</numerocolegiado>
		</arquitecto3>
		<arquitecto4>
			<nombre>nombre arq4</nombre>
			<primerapellido>1apellido arq</primerapellido>
			<segundoapellido>2apellido arq</segundoapellido>
			<dni>su dni</dni>
			<direccion>direccion</direccion>
			<restodireccion>restodireccion</restodireccion>
			<codigopostal>08001</codigopostal>
			<telefono>555555555</telefono>
			<numerocolegiado>arq4</numerocolegiado>
		</arquitecto4>
		<aparejador1>
			<nombre>nombre apa1</nombre>
			<primerapellido>1apellido arq</primerapellido>
			<segundoapellido>2apellido arq</segundoapellido>
			<dni>su dni</dni>
			<direccion>direccion</direccion>
			<restodireccion>restodireccion</restodireccion>
			<codigopostal>08001</codigopostal>
			<telefono>555555555</telefono>
			<numerocolegiado>apa1</numerocolegiado>
		</aparejador1>
		<aparejador2>
			<nombre>nombre apa2</nombre>
			<primerapellido>1apellido arq</primerapellido>
			<segundoapellido>2apellido arq</segundoapellido>
			<dni>su dni</dni>
			<direccion>direccion</direccion>
			<restodireccion>restodireccion</restodireccion>
			<codigopostal>08001</codigopostal>
			<telefono>555555555</telefono>
			<numerocolegiado>apa2</numerocolegiado>
		</aparejador2>
		<aparejador3>
			<nombre>nombre apa3</nombre>
			<primerapellido>1apellido arq</primerapellido>
			<segundoapellido>2apellido arq</segundoapellido>
			<dni>su dni</dni>
			<direccion>direccion</direccion>
			<restodireccion>restodireccion</restodireccion>
			<codigopostal>08001</codigopostal>
			<telefono>555555555</telefono>
			<numerocolegiado>apa3</numerocolegiado>
		</aparejador3>
		<aparejador4>
			<nombre>nombre apa4</nombre>
			<primerapellido>1apellido arq</primerapellido>
			<segundoapellido>2apellido arq</segundoapellido>
			<dni>su dni</dni>
			<direccion>direccion</direccion>
			<restodireccion>restodireccion</restodireccion>
			<codigopostal>08001</codigopostal>
			<telefono>555555555</telefono>
			<numerocolegiado>apa4</numerocolegiado>
		</aparejador4>
	</intervinientes>
</persona>
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a