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
|