Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Tutorial de analizador XML de Python:ejemplo de lectura de archivo xml (Minidom, ElementTree)

¿Qué es XML?

XML significa lenguaje de marcado extensible. Fue diseñado para almacenar y transportar pequeñas y medianas cantidades de datos y se usa ampliamente para compartir información estructurada.

Python le permite analizar y modificar documentos XML. Para analizar un documento XML, debe tener todo el documento XML en la memoria. En este tutorial, veremos cómo podemos usar la clase XML minidom en Python para cargar y analizar archivos XML.

En este tutorial, aprenderemos-

Cómo analizar XML usando minidom

Hemos creado un archivo XML de muestra que vamos a analizar.

Paso 1) Dentro del archivo, podemos ver el nombre, el apellido, la casa y el área de especialización (SQL, Python, Testing y Business)


Paso 2) Una vez que hayamos analizado el documento, imprimiremos el “nombre de nodo” de la raíz del documento y el “nombre de etiqueta del primer hijo” . Tagname y nodename son las propiedades estándar del archivo XML.

Nota :

Nodename y child tagname son los nombres o propiedades estándar de un dom XML. En caso de que no esté familiarizado con este tipo de convenciones de nomenclatura.

Paso 3) También podemos llamar a la lista de etiquetas XML del documento XML e imprimirla. Aquí imprimimos el conjunto de habilidades como SQL, Python, Testing y Business.

Cómo crear un nodo XML

Podemos crear un nuevo atributo usando la función "createElement" y luego agregar este nuevo atributo o etiqueta a las etiquetas XML existentes. Agregamos una nueva etiqueta "BigData" en nuestro archivo XML.

  1. Tiene que codificar para agregar el nuevo atributo (BigData) a la etiqueta XML existente
  2. Luego, debe imprimir la etiqueta XML con los nuevos atributos adjuntos a la etiqueta XML existente

Ejemplo de analizador XML

Ejemplo de Python 2

import xml.dom.minidom

def main():
# use the parse() function to load and parse an XML file
   doc = xml.dom.minidom.parse("Myxml.xml");
  
# print out the document node and the name of the first child tag
   print doc.nodeName
   print doc.firstChild.tagName
  
# get a list of XML tags from the document and print each one
   expertise = doc.getElementsByTagName("expertise")
   print "%d expertise:" % expertise.length
   for skill in expertise:
     print skill.getAttribute("name")
    
# create a new XML tag and add it into the document
   newexpertise = doc.createElement("expertise")
   newexpertise.setAttribute("name", "BigData")
   doc.firstChild.appendChild(newexpertise)
   print " "

   expertise = doc.getElementsByTagName("expertise")
   print "%d expertise:" % expertise.length
   for skill in expertise:
     print skill.getAttribute("name")
    
if name == "__main__":
  main();

Ejemplo de Python 3

import xml.dom.minidom

def main():
    # use the parse() function to load and parse an XML file
    doc = xml.dom.minidom.parse("Myxml.xml");

    # print out the document node and the name of the first child tag
    print (doc.nodeName)
    print (doc.firstChild.tagName)
    # get a list of XML tags from the document and print each one
    expertise = doc.getElementsByTagName("expertise")
    print ("%d expertise:" % expertise.length)
    for skill in expertise:
        print (skill.getAttribute("name"))

    # create a new XML tag and add it into the document
    newexpertise = doc.createElement("expertise")
    newexpertise.setAttribute("name", "BigData")
    doc.firstChild.appendChild(newexpertise)
    print (" ")

    expertise = doc.getElementsByTagName("expertise")
    print ("%d expertise:" % expertise.length)
    for skill in expertise:
        print (skill.getAttribute("name"))

if __name__ == "__main__":
    main();

Cómo analizar XML usando ElementTree

ElementTree es una API para manipular XML. ElementTree es la manera fácil de procesar archivos XML.

Estamos utilizando el siguiente documento XML como datos de muestra:

<data>
   <items>
      <item name="expertise1">SQL</item>
      <item name="expertise2">Python</item>
   </items>
</data>

Lectura de XML usando ElementTree:

primero debemos importar el módulo xml.etree.ElementTree.

import xml.etree.ElementTree as ET

Ahora busquemos el elemento raíz:

root = tree.getroot()


El siguiente es el código completo para leer los datos xml anteriores

import xml.etree.ElementTree as ET
tree = ET.parse('items.xml')
root = tree.getroot()

# all items data
print('Expertise Data:')

for elem in root:
   for subelem in elem:
      print(subelem.text)

salida:

Expertise Data:
SQL
Python

Resumen:

Python le permite analizar todo el documento XML de una sola vez y no solo una línea a la vez. Para analizar un documento XML, debe tener el documento completo en la memoria.


python

  1. E/S de archivo de Python
  2. Java BufferedReader:cómo leer un archivo en Java con un ejemplo
  3. Python String strip() Función con EJEMPLO
  4. Longitud de cadena de Python | método len() Ejemplo
  5. Tutorial de Rendimiento en Python:Generador y Rendimiento vs Ejemplo de Retorno
  6. Contador de Python en colecciones con ejemplo
  7. Función Enumerate() en Python:Bucle, Tupla, Cadena (Ejemplo)
  8. Python comprueba si el archivo existe | Cómo comprobar si existe un directorio en Python
  9. Python JSON:codificar (volcados), decodificar (cargas) y leer archivos JSON
  10. Índice de lista de Python () con ejemplo
  11. Python - E/S de archivos