1. XML Johdanto
XML (eXtensible Markup Language) viittaa laajennettavaan merkintäkieleen, joka on suunniteltu datan siirtoon ja tallentamiseen, ja siitä on tullut monien uusien teknologioiden ydin nykyään, joilla on erilaisia sovelluksia eri aloilla. Se on väistämätön tuote verkon kehityksestä tiettyyn vaiheeseen, jolla on SGML:n ydinominaisuudet, HTML:n yksinkertaiset ominaisuudet sekä monia uusia ominaisuuksia, kuten selkeä ja hyvin jäsennelty.
Testi. XML-tiedosto
<?xml version="1.0" encoding="UTF-8"?> <catalog> <maxid>4</maxid> <login username="pytest" passwd='123456'> <caption>Python</caption> <item id="4"> <caption>testi</caption> </item> </login> <item id="2"> <caption>Zope</caption> </item> </catalog> Yksityiskohtaisen johdannon XML:ään löydät osoitteesta:http://www.w3school.com.cn/xmldom/dom_nodetype.asp
2. XML asiakirjan jäsentäminen
Pythonilla on kolme yleistä tapaa jäsentää XML:ää: yksi on xml.dom.*-moduuli, joka on W3C DOM API:n toteutus ja sopii erinomaisesti DOM-rajapinnan käsittelyyn; Toinen on xml.sax.*-moduuli, joka on SAX API:n toteutus ja uhraa kätevyyden nopeuden ja muistin kulutuksen vuoksi, ja SAX on tapahtumapohjainen API, mikä tarkoittaa, että se pystyy käsittelemään suuren määrän dokumentteja "ilmassa" ilman, että niitä tarvitsee ladata kokonaan muistiin; Kolmas on xml.etree.ElementTree-moduuli (lyhyesti ET), joka tarjoaa kevyen Python-tyylisen rajapinnan, joka on paljon nopeampi kuin DOM, ja käytössä on monia miellyttäviä rajapintoja verrattuna SAX:iin. ET:n ET.iterparse tarjoaa myös "ilmassa" -käsittelytavan, koko dokumenttia ei tarvitse ladata muistiin, ja ET:n keskimääräinen suorituskyky on samankaltainen kuin SAX. API on kuitenkin hieman tehokkaampi ja helppokäyttöisempi.
2.1 xml.dom.*
Document Object Model (DOM) on W3C-organisaation suosittelema standardiohjelmointirajapinta laajennettavien merkintäkielten käsittelyyn. Kun DOM-jäsenninjäsentäjä jäsentää XML-dokumentin, se lukee koko dokumentin kerralla, tallentaa kaikki dokumentin elementit muistiin puurakenteeseen, ja sitten voit käyttää DOM:n tarjoamia toimintoja lukeakseen tai muokatakseen dokumentin sisältöä ja rakennetta, tai kirjoittaa muokatun sisällön xml-tiedostoon. Käytä xml.dom.minidom-tiedostoa Pythonissa xml-tiedoston jäsentämiseen.
a. Hanki alitunnisteet b. Tunnisteet, jotka erottavat saman tunnisteen nimen c. Hanki tunniste-attribuutin arvo d. Kerää tietoa etikettiparien välillä
Tuotos:
2.2 xml.etree.ElementTree
ElementTree syntyi käsittelemään XML:ää, ja Python-standardikirjastossa on kaksi toteutusta: toinen on puhdas Python-toteutus, kuten xml.etree.ElementTree, ja toinen nopeampi xml.etree.cElementTree. Huomautus: Yritä toteuttaa se C-kielellä, sillä se on nopeampi ja kuluttaa vähemmän muistia.
a. Kulje juurisolmun seuraavan kerroksen läpi b. Alaindeksien käyttöoikeus yksittäisiin tageihin, attribuutteihin ja tekstiin c. Etsi annettu tunniste juuresta d. XML-tiedostojen läpikäynti e. Muokkaa XML-tiedostoa
Tuotos:
Liitteenä:
2.3 xml.sax.*
SAX on tapahtumapohjainen API, joka käyttää SAX:ia XML:n jäsentämiseen kahteen osaan: jäsentimeen ja tapahtumakäsittelijään.
Jäsentäjä vastaa XML-dokumentin lukemisesta ja tapahtumien lähettämisestä tapahtumankäsittelijälle, kuten elementin aloitus- ja lopputapahtumat
Tapahtumaprosessori vastaa tapahtumiin reagoimisesta ja XML-datan käsittelystä
Yleisiä tilanteita:
(1) Käsittele suuria asiakirjoja
(2) Vaaditaan vain osa asiakirjasta, tai tarkat tiedot saadaan vain tiedostosta
(3) Haluan rakentaa oman objektimallin
|