1. XML Sissejuhatus
XML (eXtensible Markup Language) viitab laiendatavale märgistuskeelele, mis on loodud andmete edastamiseks ja salvestamiseks ning mis on tänapäeval paljude uute tehnoloogiate tuum, millel on erinevad rakendused erinevates valdkondades. See on vältimatu tulemus veebi arendamisest teatud tasemele, millel on SGML-i põhiomadused, HTML-i lihtsad omadused ning palju uusi funktsioone, nagu selge ja hästi struktureeritud.
test. XML-fail
<?xml version="1.0" encoding="UTF-8"?> <catalog> <maxid>4</maxid> <login username="pytest" passwd='123456'> <caption>Python</caption> <item id="4"> <caption>Test</caption> </item> </login> <item id="2"> <caption>Zope</caption> </item> </catalog> XML-i põhjaliku sissejuhatuse leiate palun:http://www.w3school.com.cn/xmldom/dom_nodetype.asp
2. XML dokumendi analüüsimine
Pythonil on XML-i analüüsimiseks kolm levinud meetodit: üks on xml.dom.* moodul, mis on W3C DOM API rakendus ja sobib väga hästi DOM API töötlemiseks; Teine on xml.sax.* moodul, mis on SAX API rakendus, ohverdades mugavuse kiiruse ja mälumahu nimel, ning SAX on sündmuspõhine API, mis tähendab, et see suudab töödelda tohutul hulgal dokumente "õhus" ilma, et peaks neid täielikult mällu laadima; Kolmas on xml.etree.ElementTree moodul (lühidalt ET), mis pakub kerget Python-laadset API-d, mis on palju kiirem kui DOM, ning on palju meeldivaid API-sid, mida saab kasutada, võrreldes SAX-iga, ET ET.iterparse pakub samuti "õhus" töötlemismeetodit, pole vaja kogu dokumenti mällu laadida ning ET keskmine jõudlus on sarnane SAX-ile. Kuid API on veidi tõhusam ja lihtsam kasutada.
2.1 xml.dom.*
Dokumendi objektimudel (DOM) on standardne programmeerimisliides, mida soovitab W3C organisatsioon laiendatavate märgistuskeelte haldamiseks. Kui DOM-parser parseib XML-dokumendi, loeb ta kogu dokumendi korraga, salvestab kõik dokumendi elemendid puustruktuuri mällu ning seejärel saab kasutada DOM-i pakutavaid funktsioone dokumendi sisu ja struktuuri lugemiseks või muutmiseks või muudetud sisu kirjutamiseks xml-faili. Kasuta Pythonis xml.dom.minidom xml-faili parsimiseks.
a. Hangi alamsildid b. Sildid, mis eristavad sama sildi nime c. Hangi sildi atribuudi väärtus d. Andmete kogumine sildipaaride vahel
Väljund:
2.2 xml.etree.ElementTree
ElementTree sündis XML-i haldamiseks ning Pythoni standardteegis on kaks rakendust: üks on puhas Python teostus, näiteks xml.etree.ElementTree, ja teine kiirem xml.etree.cElementTree. Märkus: proovi selle rakendamiseks kasutada C keelt, kuna see on kiirem ja tarbib vähem mälu.
a. Läbige juursõlme järgmine kiht b. Alamindeksi ligipääs üksikutele siltidele, atribuutidele ja tekstile c. Leia määratud silt juure alt d. XML-failide läbimine e. XML-faili muutmine
Väljund:
Lisatud:
2.3 xml.sax.*
SAX on sündmuspõhine API, mis kasutab SAX-i XML-i parsimiseks kaheks osaks: parseriks ja sündmuste käsitlejaks.
Parser vastutab XML-dokumendi lugemise ja sündmuste saatmise eest sündmuste käsitlejale, näiteks elemendi alguse ja elemendi lõpu sündmused
Sündmuste protsessor vastutab sündmustele reageerimise ja edastatud XML-andmete töötlemise eest
Levinud olukorrad:
(1) Suurte dokumentide töötlemine
(2) Nõutakse ainult osa dokumendist või konkreetset teavet saadakse ainult failist
(3) Ma tahan ehitada oma objektimudeli
|