Python XML Anal

Python XML Anal
En este artículo, discutiremos cómo analizar XML en el lenguaje de programación de Python. Pasaremos por varios ejemplos para comprender el mecanismo de análisis XML en Python.

Que es xml?

XML significa lenguaje de marcado extensible. XML es muy similar a HTML. XML se utiliza para almacenar y transferir datos, donde se usa HTML solo para mostrar los datos en el navegador. XML permite al usuario almacenar y transferir datos de manera organizada.

Muestra de archivo XML

El usuario puede definir sus propias etiquetas en el archivo XML. En el siguiente ejemplo, estamos utilizando una etiqueta definida por el usuario, como - . Para cada etiqueta, también necesitaremos tener una etiqueta de cierre - . El usuario puede definir tantas etiquetas definidas por el usuario como lo necesite. Aquí hay un archivo XML de muestra:











Animado de bibliotecas en Python

Hay bibliotecas para analizar datos XML en la mayoría de los lenguajes de programación de alto nivel modernos. Hay un par de bibliotecas para analizar archivos XML en Python:

  1. Minidom
  2. ElementTree

Sin embargo, en este artículo, nos centraremos en la biblioteca de Minidom para analizar datos XML. Minidom es la implementación mínima de la interfaz del modelo de objeto de documento. Es muy liviano y más simple que el DOM completo.

Ejemplo 1
En este ejemplo, primero importamos el "XML.domina.módulo de minidom ". El archivo XML a analizar aquí es - muestra.Xml. El archivo XML almacena información básica sobre los estudiantes: el nombre del estudiante y el nombre de la sección de la clase. La función de análisis se está utilizando en XML minidom para cargar y analizar el archivo XML. La variable myDOC obtiene el resultado de la función de análisis. Luego, la función de impresión se usa para mostrar el nombre del nodo y el nombre de la etiqueta del primer niño.

Importar XML.domina.minidom
Def Main ()::
# Cargar y analizar el archivo XML
mydoc = xml.domina.minidom.analizar ("Muestra.XML ")
# Imprime el nombre de nodo y el nombre de etiqueta del FirstChild.
Imprimir (MyDoc.nombre del nodo)
Imprimir (MyDoc.primer hijo.nombre de etiqueta)
Si __name__ == "__main__":
principal()

Ejemplo 2
En este ejemplo, veremos cómo obtener la lista de las etiquetas XML e imprimirlas. Estamos declarando la variable - "Stud". Esta variable posee a todos los estudiantes de Data Students Data. El bucle for obtiene todos los datos con el nombre de la etiqueta "nombre".

Importar XML.domina.minidom
Def Main ()::
# Cargar y analizar el archivo XML
mydoc = xml.domina.minidom.analizar ("Muestra.XML ")
# Imprime el nombre de nodo y el nombre de etiqueta del FirstChild.
Imprimir (MyDoc.nombre del nodo)
Imprimir (MyDoc.primer hijo.nombre de etiqueta)
# Obtén las etiquetas XML
stud = mydoc.GetElementsBytagName ("Estudiante")
Imprimir ("No de estudiantes: % D" % Stud.longitud)
Para el nombre en Stud:
Imprimir (nombre.getAttribute ("nombre"))
Si __name__ == "__main__":
principal()

Ejemplo 3
Este es otro ejemplo de análisis XML usando la biblioteca de Minidom. En este ejemplo, también veremos cómo crear un nuevo elemento XML. En primer lugar, cargaremos y analizaremos el archivo XML dado, yo.mi., la muestra.archivo XML ". El nuevo elemento XML se puede crear utilizando la función Función - CreateElement (). Una vez que se crea el elemento, podemos agregarlo a los elementos XML existentes utilizando la función appendChild ().

Importar XML.domina.minidom
Def Main ()::
# Cargar y analizar el archivo XML
mydoc = xml.domina.minidom.analizar ("Muestra.xml ");
# Imprimir el nodo de documento y el primer nombre de la etiqueta infantil
Imprimir (MyDoc.nombre del nodo)
Imprimir (MyDoc.primer hijo.nombre de etiqueta)
# Obtenga la lista de las etiquetas XML
studName = myDoc.GetElementsBytagName ("Estudiante")
Imprimir (" % D StudName:" % StudName.longitud)
Para Sname en StudName:
imprimir (sname.getAttribute ("nombre"))
# Agregar nuevas etiquetas XML
newStudName = myDoc.CreateElement ("Estudiante")
NewStudName.setAttribute ("Nombre", "Paul")
mydoc.primer hijo.AppendChild (NewStudName)
imprimir (" ")
# Imprimir todas las etiquetas XML
studName = myDoc.GetElementsBytagName ("Estudiante")
Imprimir (" % D StudName:" % StudName.longitud)
Para Sname en StudName:
imprimir (sname.getAttribute ("nombre"))
Si __name__ == "__main__":
principal()

Conclusión

Este artículo discutió brevemente el formato de archivo XML y cómo analizar los archivos XML en Python. Hay varias bibliotecas para analizar archivos XML en Python. Pero, en este artículo, solo hemos cubierto la biblioteca de Minidom y vemos varios ejemplos para analizar archivos XML y agregar nuevos elementos XML.