|
|
Paskelbta 2018-06-05 14:27:09
|
|
|

1. XML Įvadas
XML (eXtensible Markup Language) reiškia išplečiamą žymėjimo kalbą, skirtą duomenims perduoti ir saugoti, ir šiandien tapo daugelio naujų technologijų šerdimi, skirtingomis programomis įvairiose srityse. Tai neišvengiamas žiniatinklio vystymosi iki tam tikro etapo produktas, turintis pagrindines SGML savybes, paprastas HTML savybes ir daugybę naujų funkcijų, tokių kaip aiškus ir gerai struktūrizuotas.
testas. XML failas
<?xml version="1.0" encoding="utf-8"?> <catalog> <maxid>4</maxid> <login username="pytest" passwd='123456'> <caption>Pitonas</caption> <item id="4"> <caption>Bandymas</caption> </item> </login> <item id="2"> <caption>Zope</caption> </item> </catalog> Išsamų XML įvadą rasite:http://www.w3school.com.cn/xmldom/dom_nodetype.asp
2. XML dokumentų analizė
Yra trys įprasti python XML analizės metodai: vienas yra xml.dom.* modulis, kuris yra W3C DOM API įgyvendinimas, kuris labai tinka, jei reikia apdoroti DOM API; Antrasis yra xml.sax.* modulis, kuris yra SAX API įgyvendinimas, kuris aukoja patogumą dėl greičio ir atminties pėdsakų, o SAX yra įvykiais pagrįsta API, o tai reiškia, kad ji gali apdoroti daugybę dokumentų "ore", neįkeldama jų visiškai į atmintį; Trečiasis yra xml.etree.ElementTree modulis (sutrumpintai ET), kuris suteikia lengvą Python stiliaus API, kuri yra daug greitesnė nei DOM, ir yra daug malonių API, kurias galima naudoti, palyginti su SAX, ET ET.iterparse taip pat suteikia apdorojimo metodą "ore", nereikia įkelti viso dokumento į atmintį, o vidutinis ET našumas yra panašus į SAX. Tačiau API yra šiek tiek efektyvesnė ir paprastesnė naudoti.
2.1 xml.dom.*
Dokumento objekto modelis (DOM) yra standartinė programavimo sąsaja, kurią W3C organizacija rekomenduoja naudoti išplėstines žymėjimo kalbas. Kai DOM analizatorius analizuoja XML dokumentą, jis nuskaito visą dokumentą vienu metu, saugo visus dokumento elementus medžio struktūroje atmintyje, o tada galite naudoti įvairias DOM teikiamas funkcijas, kad perskaitytumėte ar modifikuotumėte dokumento turinį ir struktūrą arba įrašytumėte modifikuotą turinį į xml failą. Naudokite xml.dom.minidom Python, kad išanalizuotumėte xml failą.
a. Gaukite antrines žymas b. Etiketės, skiriančios tą patį žymos pavadinimą c. Gaukite žymos atributo vertę d. Duomenų gavimas tarp etikečių porų
Išvesties:
2.2 xml.etree.ElementTree
"ElementTree" gimė tvarkyti XML, o Python standartinėje bibliotekoje yra du įgyvendinimai: vienas yra grynas Python įgyvendinimas, pvz., xml.etree.ElementTree, o kitas yra greitesnis xml.etree.cElementTree. Pastaba: Pabandykite naudoti C kalbą, kad ją įgyvendintumėte, nes ji yra greitesnė ir sunaudoja mažiau atminties.
a. Pereikite kitą šakninio mazgo sluoksnį b. Apatinio indekso prieiga prie atskirų žymų, atributų ir teksto c. Raskite nurodytą žymą šaknyje d. XML failų perėjimas e. Modifikuokite XML failą
Išvesties:
Pridedama:
2.3 xml.sakso.*
SAX yra įvykiais pagrįsta API, kuri naudoja SAX XML analizei į dvi dalis: analizatorių ir įvykių apdorojimo programą.
Analizatorius yra atsakingas už XML dokumento skaitymą ir įvykių, pvz., elemento pradžios ir elemento pabaigos įvykių, siuntimą į įvykių apdorojimo programą
Įvykių tvarkytojas yra atsakingas už reagavimą į įvykius ir perduodamų XML duomenų apdorojimą
Dažni scenarijai:
(1) Apdoroti didelius dokumentus
(2) Reikalaujama tik dalies dokumento arba iš bylos medžiagos gaunama tik konkreti informacija
(3) Noriu sukurti savo objekto modelį
|
Ankstesnis:Sprendimas: diegimo programa, naudojama "Visual Studio" diegimui, yra nebaigtaKitą:VS Code kodo greito formatavimo spartieji klavišai
|