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
|