Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 13625|Svare: 0

[Kilde] Python implementerer XML-filparsing

[Kopier lenke]
Publisert på 05.06.2018 14:27:09 | | |
1. XML Introduksjon

XML (eXtensible Markup Language) refererer til et utvidbart markeringsspråk, designet for å overføre og lagre data, og har blitt kjernen i mange nye teknologier i dag, med ulike anvendelser innen ulike felt. Det er et uunngåelig produkt av utviklingen av nettet til et visst nivå, som har kjerneegenskapene til SGML, de enkle egenskapene til HTML, og mange nye funksjoner som tydelig og godt strukturert.

test. XML-fil

<?xml versjon="1.0" koding="utf-8"?>
<catalog>
    <maxid>4</maxid>
    <innloggingsbrukernavn="pytest" passwd='123456'>
        <caption>Python</caption>
        <item id="4">
            <caption>Test</caption>
        </item>
    </login>
    <item id="2">
        <caption>Zope</caption>
    </item>
</catalog>

For en detaljert introduksjon til XML, vennligst se til:http://www.w3school.com.cn/xmldom/dom_nodetype.asp

2. XML dokumentparsing

Det finnes tre vanlige metoder for Python til å parse XML: den ene er xml.dom.*-modulen, som er en implementering av W3C DOM API, som er svært egnet hvis du trenger å behandle DOM-API-et; Den andre er xml.sax.*-modulen, som er en implementering av SAX API, som ofrer bekvemmelighet for hastighet og minneavvik, og SAX er et hendelsesbasert API, noe som betyr at det kan behandle et enormt antall dokumenter «i luften» uten å måtte laste det helt inn i minnet; Den tredje er xml.etree.ElementTree-modulen (ET for kort), som tilbyr et lett Python-lignende API, som er mye raskere enn DOM, og det finnes mange hyggelige API-er som kan brukes, sammenlignet med SAX, ETs ET.iterparse tilbyr også en "in the air"-prosesseringsmetode, det er ikke nødvendig å laste hele dokumentet inn i minnet, og gjennomsnittlig ytelse for ET er lik SAX. API-et er imidlertid litt mer effektivt og enkelt å bruke.

2.1 xml.dom.*

Dokumentobjektmodellen (DOM) er et standard programmeringsgrensesnitt anbefalt av W3C-organisasjonen for å håndtere utvidbare markeringsspråk. Når en DOM-parser parser et XML-dokument, leser den hele dokumentet på én gang, lagrer alle elementene i dokumentet i en trestruktur i minnet, og deretter kan du bruke ulike funksjoner levert av DOM for å lese eller endre innholdet og strukturen i dokumentet, eller skrive det modifiserte innholdet til xml-filen. Bruk xml.dom.minidom i Python for å parse xml-filen.

a. Få undertagger
b. Etiketter som skiller det samme merkenavnet
c. Hent tag-attributtverdien
d. Hent data mellom labelpar

Ytelse:

2.2 xml.etree.ElementTree

ElementTree ble skapt for å håndtere XML, og det finnes to implementasjoner i Python-standardbiblioteket: den ene er en ren Python-implementering, som xml.etree.ElementTree, og den andre er en raskere xml.etree.cElementTree. Merk: Prøv å bruke C-språket for å implementere det, da det er raskere og bruker mindre minne.

a. Traversere neste lag av rotnoden
b. Indekstilgang til individuelle tagger, attributter og tekst
c. Finn den angitte taggen under root
d. Gjennomgå XML-filer
e. Endre XML-filen

Ytelse:

Vedlagt:

2.3 xml.sax.*

SAX er et hendelsesdrevet API som bruker SAX til å analysere XML i to deler: parseren og hendelseshåndtereren.

Parseren er ansvarlig for å lese XML-dokumentet og sende hendelser til hendelseshåndtereren, som for eksempel elementstart- og elementslutthendelser

Hendelsesprosessoren er ansvarlig for å svare på hendelsene og behandle XML-dataene som sendes

Vanlige scenarioer:

(1) Behandle store dokumenter

(2) Kun deler av dokumentet kreves, eller spesifikk informasjon hentes kun fra filen

(3) Jeg vil bygge min egen objektmodell





Foregående:Løsning: Installasjonsprogrammet som brukes til å installere Visual Studio er ufullstendig
Neste:VS Code-kode raske formateringssnarveier
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com