1. XML Úvod
XML (eXtensible Markup Language) označuje rozšiřitelný značkovací jazyk, navržený pro přenos a ukládání dat, a stal se jádrem mnoha nových technologií dnes, s různými aplikacemi v různých oborech. Je to nevyhnutelný produkt vývoje webu do určité fáze, která má základní charakteristiky SGML, jednoduché vlastnosti HTML a mnoho nových funkcí, jako je jasnost a dobře struktura.
test. XML soubor
<?xml version="1.0" encoding="utf-8"?> <catalog> <maxid>4</maxid> <přihlášení uživatelské jméno="pytest" passwd='123456'> <caption>Python</caption> <item id="4"> <caption>Test</caption> </item> </login> <item id="2"> <caption>Zope</caption> </item> </catalog> Pro podrobný úvod do XML se prosím podívejte na:http://www.w3school.com.cn/xmldom/dom_nodetype.asp
2. XML parsování dokumentů
Existují tři běžné metody, jak python parsuje XML: jednou je modul xml.dom.*, což je implementace W3C DOM API, což je velmi vhodné pro zpracování DOM API; Druhým je modul xml.sax.*, což je implementace SAX API, jež obětuje pohodlí kvůli rychlosti a paměťové náročnosti, a SAX je event-based API, což znamená, že dokáže zpracovávat obrovské množství dokumentů "ve vzduchu" bez nutnosti je načítat zcela do paměti; Třetím je modul xml.etree.ElementTree (zkráceně ET), který poskytuje lehké API ve stylu Pythonu, jež je mnohem rychlejší než DOM, a existuje mnoho příjemných API, které lze použít ve srovnání se SAX, ET.iterparse také poskytuje metodu zpracování "ve vzduchu", není potřeba načítat celý dokument do paměti a průměrný výkon ET je podobný jako u SAX. API je však o něco efektivnější a jednodušší na používání.
2.1 xml.dom.*
Document Object Model (DOM) je standardní programovací rozhraní doporučené organizací W3C pro práci s rozšiřitelnými značkovacími jazyky. Když DOM parser analyzuje XML dokument, přečte celý dokument najednou, uloží všechny prvky dokumentu do stromové struktury v paměti a pak můžete použít různé funkce poskytované DOM k čtení nebo úpravě obsahu a struktury dokumentu, nebo k zápisu upraveného obsahu do xml souboru. Použijte xml.dom.minidom v Pythonu k parsování xml souboru.
a. Získejte podštítky b. Štítky, které rozlišují stejný název značky c. Získejte hodnotu atributu značky d. Získejte data mezi páry štítků
Výstup:
2.2 xml.etree.ElementTree
ElementTree vznikl pro práci s XML a ve standardní knihovně Pythonu existují dvě implementace: jedna je čistě python implementace, například xml.etree.ElementTree, a druhá je rychlejší xml.etree.cElementTree. Poznámka: Zkuste použít jazyk C k implementaci, protože je rychlejší a spotřebovává méně paměti.
a. Projít další vrstvu kořenového uzlu b. Přístup dolních indexů k jednotlivým štítkům, atributům a textu c. Najděte specifikovaný tag pod kořenem d. Procházení XML souborů e. Upravit XML soubor
Výstup:
Přikládané:
2.3 xml.sax.*
SAX je API řízené událostmi, které využívá SAX k analýze XML ve dvou částech: parseru a obslužné obslužbě událostí.
Parser je zodpovědný za čtení XML dokumentu a odesílání událostí do obslužné složky událostí, jako jsou počáteční a koncové události prvku
Event processor je odpovědný za reakci na události a zpracování XML dat, která jsou předána
Běžné scénáře:
(1) Zpracování rozsáhlých dokumentů
(2) Pouze část dokumentu je potřeba, nebo jsou konkrétní informace získány pouze ze spisu
(3) Chci si vytvořit vlastní objektový model
|