Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 13625|Risposta: 0

[Fonte] Python implementa l'analisi parsing dei file XML

[Copiato link]
Pubblicato su 05/06/2018 14:27:09 | | |
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





Precedente:Soluzione: L'installatore utilizzato per installare Visual Studio è incompleto
Prossimo:Scorciatoie per la formattazione rapida del codice VS Code
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com