Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 13625|Odpověď: 0

[Zdroj] Python implementuje parsování XML souborů

[Kopírovat odkaz]
Zveřejněno 05.06.2018 14:27:09 | | |
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





Předchozí:Řešení: Instalátor použitý k instalaci Visual Studia není úplný
Další:Rychlé formátovací zkratky pro VS Code
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com