Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 13625|Respuesta: 0

[Fuente] Python implementa análisis de archivos XML

[Copiar enlace]
Publicado en 5/6/2018 14:27:09 | | |
1. XML Introducción

XML (Lenguaje de Marcado Extensible) se refiere a un lenguaje de marcado extensible, diseñado para transmitir y almacenar datos, y se ha convertido en el núcleo de muchas tecnologías nuevas hoy en día, con diferentes aplicaciones en distintos campos. Es un producto inevitable del desarrollo de la web hasta cierto punto, que tiene las características principales del SGML, las características simples del HTML y muchas características nuevas como claridad y buena estructura.

prueba. Archivo XML

<?xml versión="1.0" encoding="utf-8"?>
<catalog>
    <maxid>4</maxid>
    <usuarioname de inicio de sesión="pytest" passwd='123456'>
        <caption>Python</caption>
        <ítem id="4">
            <caption>Prueba</caption>
        </item>
    </login>
    <ítem id="2">
        <caption>Zope</caption>
    </item>
</catalog>

Para una introducción detallada al XML, por favor consulte:http://www.w3school.com.cn/xmldom/dom_nodetype.asp

2. XML Análisis de documentos

Existen tres métodos comunes para que python analize XML: uno es el módulo xml.dom.*, que es una implementación de la API DOM del W3C, muy adecuada si necesitas procesar la API del DOM; El segundo es el módulo xml.sax.*, que es una implementación de la API SAX, que sacrifica la comodidad a cambio de velocidad y huella de memoria, y SAX es una API basada en eventos, lo que significa que puede procesar una enorme cantidad de documentos "en el aire" sin tener que cargarlos completamente en memoria; El tercero es el módulo xml.etree.ElementTree (ET para abreviar), que proporciona una API ligera de estilo Python, mucho más rápida que el DOM, y existen muchas APIs agradables que se pueden usar; en comparación con SAX, ET.iterparse de ET también ofrece un método de procesamiento "en el aire", no es necesario cargar todo el documento en memoria y el rendimiento medio de ET es similar al de SAX. Sin embargo, la API es un poco más eficiente y fácil de usar.

2.1 xml.dom.*

El Modelo de Objeto de Documento (DOM) es una interfaz de programación estándar recomendada por la organización del W3C para manejar lenguajes de marcado extensibles. Cuando un analizador del DOM analiza un documento XML, lee todo el documento de una vez, almacena todos los elementos del documento en una estructura de árbol en memoria, y luego puedes usar diferentes funciones proporcionadas por el DOM para leer o modificar el contenido y la estructura del documento, o escribir el contenido modificado en el archivo xml. Usa xml.dom.minidom en Python para analizar el archivo xml.

a. Obtener subetiquetas
b. Etiquetas que distinguen el mismo nombre de etiqueta
c. Obtener el valor del atributo de etiqueta
d. Obtener datos entre pares de etiquetas

Salida:

2.2 xml.etree.ElementTree

ElementTree nació para manejar XML, y hay dos implementaciones en la biblioteca estándar de Python: una es una implementación puramente en Python, como xml.etree.ElementTree, y la otra es un xml.etree.cElementTree más rápido. Nota: Intenta usar el lenguaje C para implementarlo, ya que es más rápido y consume menos memoria.

a. Recorrer la siguiente capa del nodo raíz
b. Acceso por índice a etiquetas individuales, atributos y texto
c. Encontrar la etiqueta especificada bajo raíz
d. Desplazamiento de archivos XML
e. Modificar el archivo XML

Salida:

Adjunto:

2.3 xml.sax.*

SAX es una API orientada a eventos que utiliza SAX para analizar XML en dos partes: el analizador y el gestor de eventos.

El analizador es responsable de leer el documento XML y enviar eventos al gestor de eventos, como eventos de inicio y fin de elementos

El procesador de eventos es responsable de responder a los eventos y procesar los datos XML pasados

Escenarios comunes:

(1) Procesar documentos grandes

(2) Solo se requiere una parte del documento, o se obtiene información específica únicamente del archivo

(3) Quiero construir mi propio modelo de objetos





Anterior:Solución: El instalador utilizado para instalar Visual Studio está incompleto
Próximo:Atajos de formato rápido de código VS Code
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com