1. XML Introduzione
XML (eXtensible Markup Language) si riferisce a un linguaggio di markup estensibile, progettato per trasmettere e memorizzare dati, ed è diventato il nucleo di molte nuove tecnologie oggi, con applicazioni diverse in diversi settori. È un prodotto inevitabile dello sviluppo del web fino a un certo punto, che presenta le caratteristiche fondamentali di SGML, le caratteristiche semplici di HTML e molte nuove funzionalità come chiarezza e ben struttura.
test. File XML
<?xml version="1.0" encoding="utf-8"?> <catalog> <maxid>4</maxid> <username login="pytest" passwd='123456'> <caption>Python</caption> <elemento id="4"> <caption>Test</caption> </item> </login> <elemento id="2"> <caption>Zope</caption> </item> </catalog> Per un'introduzione dettagliata all'XML, si prega di fare riferimento:http://www.w3school.com.cn/xmldom/dom_nodetype.asp
2. XML parsing dei documenti
Ci sono tre metodi comuni per Python per analizzare XML: uno è il modulo xml.dom.*, che è un'implementazione dell'api dom del W3C, molto adatta se si deve elaborare l'API DOM; Il secondo è il modulo xml.sax.*, che è un'implementazione dell'API SAX, sacrificando la comodità in cambio di velocità e footprint di memoria, e SAX è un'API basata su eventi, il che significa che può elaborare un enorme numero di documenti "in aria" senza doverli caricare completamente in memoria; Il terzo è il modulo xml.etree.ElementTree (ET per abbreviare), che fornisce un'API leggera in stile Python, molto più veloce del DOM, e ci sono molte API piacevoli che possono essere utilizzate; rispetto a SAX, ET.iterparse di ET offre anche un metodo di elaborazione "in the air", non è necessario caricare l'intero documento in memoria e le prestazioni medie di ET sono simili a SAX. Tuttavia, l'API è un po' più efficiente e facile da usare.
2.1 xml.dom.*
Il Document Object Model (DOM) è un'interfaccia di programmazione standard raccomandata dall'organizzazione W3C per gestire linguaggi di markup estendibili. Quando un parser DOM analizza un documento XML, legge l'intero documento in una volta sola, memorizza tutti gli elementi del documento in una struttura ad albero in memoria, e poi puoi usare diverse funzioni fornite dal DOM per leggere o modificare il contenuto e la struttura del documento, oppure scrivere il contenuto modificato nel file xml. Usa xml.dom.minidom in Python per analizzare il file xml.
a. Ottenere sottotag b. Etichette che distinguono lo stesso nome di tag c. Ottenere il valore dell'attributo tag d. Ottenere dati tra coppie di etichette
Prodotto:
2.2 xml.etree.ElementTree
ElementTree è nato per gestire XML, e nella libreria standard Python ci sono due implementazioni: una è un'implementazione puramente Python, come xml.etree.ElementTree, e l'altra è un xml.etree.cElementTree più veloce. Nota: Prova a usare il linguaggio C per implementarlo, perché è più veloce e consuma meno memoria.
a. Attraversare il livello successivo del nodo radice b. Accesso a pedici a singoli tag, attributi e testo c. Trova il tag specificato sotto la radice d. Attraversare file XML e. Modifica il file XML
Prodotto:
Allegato:
2.3 xml.sax.*
SAX è un'API orientata a eventi che utilizza SAX per analizzare XML in due parti: il parser e il gestore di eventi.
Il parser è responsabile della lettura del documento XML e dell'invio di eventi al gestore di eventi, come gli eventi di inizio e fine degli elementi
Il processore di eventi è responsabile della risposta agli eventi e dell'elaborazione dei dati XML inviati
Scenari comuni:
(1) Elaborazione di documenti di grandi dimensioni
(2) È richiesta solo una parte del documento, oppure informazioni specifiche sono ottenute solo dal file
(3) Voglio costruire il mio modello di oggetti
|