Articles of elementtree

PYTHON: Cómo agregar un nodo raíz a un XML

Tengo un archivo xml se ve algo como esto …. Quiero agregar la raíz en la parte superior del elemento ‘A’. Encontré una manera de agregar elementos a la raíz. Pero ¿Cómo cambiar la raíz existente y agregar sobre ella usando python? Después de agregar la raíz al xml debería verse así ….

Eliminar un nodo de etree pero dejando hijo

Estoy atravesando un árbol XML y tengo algunos problemas al extraer un nodo del árbol dejando sus nodos internos. Por ejemplo: Necesito algo como esto: Pero no puedo conseguir esto sin quitar todos los E childs. ¡Aclamaciones!

Análisis: Cadena a XML

se supone que mi API debe tomar una cadena y convertirla en formato XML. Pero constantemente estoy recibiendo este error: ParseError: etiqueta no coincidente: línea 1, columna 764 XML Implementado a través de: tree = ET.ElementTree(ET.fromstring(kk.strip())) Estoy seguro de que mi cadena XML contiene todas las tags coincidentes y está formateada, ¡¡pero aún falta algo […]

Cómo configurar el campo de texto ElementTree Element en el constructor

¿Cómo configuro el campo de texto de ElementTree Element desde su constructor? O, en el siguiente código, ¿por qué es la segunda impresión de root.text None? import xml.etree.ElementTree as ET root = ET.fromstring(“6”) ET.dump(root) print root.text root=ET.Element(‘period’, {‘units’: ‘months’}, text=’6′) ET.dump(root) print root.text root=ET.Element(‘period’, {‘units’: ‘months’}) root.text = ‘6’ ET.dump(root) print root.text Aquí la salida: […]

Edición de valores en un archivo xml con Python

Oye. Quiero tener un archivo config.xml para la configuración en una aplicación web de Python. Hice car.xml manualmente. Se parece a esto: off Ahora quiero ver si las luces intermitentes están activadas o desactivadas, usando xml.etree.ElementTree . import xml.etree.ElementTree as ET tree = ET.parse(‘car.xml’) blinkers = tree.findtext(‘lights/blinkers’) print blinkers > off Ahora quiero activar y […]

Cómo agregar un elemento a un archivo xml usando elementtree

Tengo un archivo xml y estoy tratando de agregarle un elemento adicional. El xml tiene la siguiente estructura: Lo que busco es: pero en realidad estoy recibiendo el siguiente xml: Mi código se ve así: file = open(“/tmp/” + executionID +”.xml”, ‘a’) xmlRoot = xml.parse(“/tmp/” + executionID +”.xml”).getroot() child = xml.Element(“NewNode”) xmlRoot.append(child) xml.ElementTree(root).write(file) file.close() Gracias.

ElementTree findall ‘o’ operator

Si tengo un archivo xml como este: something something something Puedo usar xmlTree.getroot().findall(“item”) para obtener todos los elementos ‘item’. ¿Cómo obtendría todos los elementos del ‘elemento’ O ‘prueba’? Quiero algo como: xmlTree.getroot().findall(“item or test”) No vi nada como esto en los ejemplos de la documentación. ¿Algunas ideas?

Árbol de elementos de Python: extraer texto de un elemento, eliminando tags

Con ElementTree en Python, ¿cómo puedo extraer todo el texto de un nodo, eliminando las tags de ese elemento y manteniendo solo el texto? Por ejemplo, digamos que tengo lo siguiente: Some example text Quiero devolver Some example text . ¿Cómo voy a hacer esto? Hasta ahora, los enfoques que he tomado han tenido resultados […]

Usando la función itertree de Python ElementTree y escribiendo el árbol modificado para generar el archivo

Necesito analizar un archivo XML muy grande (~ 40GB), eliminar ciertos elementos de él y escribir el resultado en un nuevo archivo xml. He estado tratando de usar iterparse del ElementTree de python, pero estoy confundido sobre cómo modificar el árbol y luego escribir el árbol resultante en un nuevo archivo XML. He leído la […]

El iter de ElementTree () equivalente en Python2.6

Tengo este código con ElementTree que funciona bien con Python 2.7. Necesitaba obtener todos los nodos con el nombre “A” debajo del nodo “X / Y”. from xml.etree.ElementTree import ElementTree verboseNode = topNode.find(“X/Y”) nodes = list(verboseNode.iter(“A”)) Sin embargo, cuando intenté ejecutarlo con Python 2.6, recibí este error. ionCalculateSkewConstraint.py”, line 303, in getNodesWithAttribute nodes = list(startNode.iter(nodeName)) […]