|
|
Objavljeno na 5. 06. 2018 14:27:09
|
|
|

1. XML Uvod
XML (eXtensible Markup Language) se nanaša na razširljiv označevalni jezik, zasnovan za prenos in shranjevanje podatkov, in je postal jedro mnogih novih tehnologij danes, z različnimi aplikacijami na različnih področjih. Gre za neizogiben produkt razvoja spleta do določene stopnje, ki ima osnovne značilnosti SGML, preproste značilnosti HTML in številne nove funkcije, kot sta jasnost in dobro strukturiranost.
preizkus. XML datoteka
<?xml version="1.0" encoding="utf-8"?> <catalog> <maxid>4</maxid> <login uporabniško ime="pytest" passwd='123456'> <caption>Python</caption> <item id="4"> <caption>Test</caption> </item> </login> <item id="2"> <caption>Zope</caption> </item> </catalog> Za podroben uvod v XML si oglejte:http://www.w3school.com.cn/xmldom/dom_nodetype.asp
2. XML razčlenjevanje dokumentov
Obstajajo tri pogoste metode za razčlenjevanje XML v Pythonu: ena je xml.dom.* modul, ki je implementacija W3C DOM API, kar je zelo primerno, če morate obdelati DOM API; Drugi je xml.sax.* modul, ki je implementacija SAX API-ja, ki žrtvuje priročnost v korist hitrosti in pomnilniške porabe, SAX pa je API, ki temelji na dogodkih, kar pomeni, da lahko obdela ogromno število dokumentov "v zraku" brez popolnega nalaganja v pomnilnik; Tretji je xml.etree.ElementTree modul (ET na kratko), ki zagotavlja lahek API v slogu Pythona, ki je veliko hitrejši od DOM, poleg tega pa je na voljo veliko prijetnih API-jev, ki jih je mogoče uporabljati v primerjavi s SAX-om, ET-jev ET.iterparse prav tako omogoča obdelavo "v zraku", ni potrebe po nalaganju celotnega dokumenta v pomnilnik, povprečna zmogljivost ET pa je podobna kot pri SAX-u. Vendar je API nekoliko bolj učinkovit in enostaven za uporabo.
2.1 xml.dom.*
Model dokumentnih objektov (DOM) je standardni programski vmesnik, ki ga priporoča organizacija W3C za obvladovanje razširljivih označevalnih jezikov. Ko DOM parser razčlenjuje XML dokument, prebere celoten dokument naenkrat, shrani vse elemente v drevesni strukturi v pomnilniku, nato pa lahko uporabite različne funkcije, ki jih zagotavlja DOM, za branje ali spreminjanje vsebine in strukture dokumenta ali za zapisovanje spremenjene vsebine v xml datoteko. Uporabite xml.dom.minidom v Pythonu za razčlenitev xml datoteke.
a. Pridobite podoznake b. Oznake, ki razlikujejo isto ime oznake c. Pridobi vrednost atributa oznake d. Pridobi podatke med pari nalepk
Izhod:
2.2 xml.etree.ElementTree
ElementTree je nastal za upravljanje XML, v standardni knjižnici Pythona pa sta dve implementaciji: ena je čista Python implementacija, kot je xml.etree.ElementTree, druga pa hitrejši xml.etree.cElementTree. Opomba: Poskusite uporabiti jezik C za implementacijo, saj je hitrejši in porabi manj pomnilnika.
a. Prečkajte naslednjo plast korenskega vozlišča b. Dostop po indeksu do posameznih oznak, atributov in besedila c. Poišči določeno oznako pod korenom d. Prečkanje XML datotek e. Spremenite XML datoteko
Izhod:
Priloženo:
2.3 xml.sax.*
SAX je API, ki temelji na dogodkih, uporablja SAX za razčlenjevanje XML v dveh delih: parserju in obravnavalniku dogodkov.
Parser je odgovoren za branje XML dokumenta in pošiljanje dogodkov upravljavcu dogodkov, kot so začetek elementa in konec elementa
Procesor dogodkov je odgovoren za odzivanje na dogodke in obdelavo posredovanih XML podatkov
Pogosti scenariji:
(1) Obdelava velikih dokumentov
(2) Potreben je le del dokumenta ali pa se specifične informacije pridobijo le iz datoteke
(3) Želim zgraditi svoj lasten objektni model
|
Prejšnji:Rešitev: Namestitveni program, ki se uporablja za namestitev Visual Studia, ni popolnNaslednji:Hitri bližnjice za oblikovanje VS Code kode
|