Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 13625|Svar: 0

[Källa] Python implementerar XML-filparsing

[Kopiera länk]
Publicerad på 2018-06-05 14:27:09 | | |
1. XML Introduktion

XML (eXtensible Markup Language) avser ett utbyggbart markeringsspråk, utformat för att överföra och lagra data, och har blivit kärnan i många nya teknologier idag, med olika tillämpningar inom olika områden. Det är en oundviklig produkt av webbens utveckling till en viss nivå, som har SGML:s kärnegenskaper, HTML:s enkla egenskaper och många nya funktioner såsom tydlig och välstrukturerad.

Test. XML-fil

<?xml version="1.0" kodning="utf-8"?>
<catalog>
    <maxid>4</maxid>
    <inloggningsanvändarnamn="pytest" passwd='123456'>
        <caption>Python</caption>
        <item id="4">
            <caption>Test</caption>
        </item>
    </login>
    <item id="2">
        <caption>Zope</caption>
    </item>
</catalog>

För en detaljerad introduktion till XML, se här:http://www.w3school.com.cn/xmldom/dom_nodetype.asp

2. XML dokumentparsning

Det finns tre vanliga metoder för Python att tolka XML: en är xml.dom.*-modulen, som är en implementation av W3C DOM API, vilket är mycket lämpligt om du behöver bearbeta DOM-API:et; Den andra är xml.sax.*-modulen, som är en implementation av SAX API:et, vilket offrar bekvämlighet för snabbhet och minnesanvändning, och SAX är ett händelsebaserat API, vilket innebär att det kan bearbeta ett stort antal dokument "i luften" utan att behöva ladda in dem helt i minnet; Den tredje är xml.etree.ElementTree-modulen (ET för kort), som tillhandahåller ett lättviktigt Python-liknande API, som är mycket snabbare än DOM, och det finns många trevliga API:er som kan användas, jämfört med SAX, ET:s ET.iterparse erbjuder också en "in the air"-processmetod, det finns inget behov av att ladda hela dokumentet i minnet, och genomsnittlig prestanda för ET är liknande SAX. API:et är dock lite mer effektivt och lätt att använda.

2.1 xml.dom.*

Dokumentobjektmodellen (DOM) är ett standardiserat programmeringsgränssnitt som rekommenderas av W3C-organisationen för att hantera utbyggbara markeringsspråk. När en DOM-parser tolkar ett XML-dokument läser den hela dokumentet på en gång, lagrar alla element i dokumentet i en trädstruktur i minnet, och sedan kan du använda olika funktioner som tillhandahålls av DOM för att läsa eller ändra innehållet och strukturen i dokumentet, eller skriva det modifierade innehållet till xml-filen. Använd xml.dom.minidom i Python för att tolka xml-filen.

a. Hämta subtaggar
b. Etiketter som skiljer samma taggnamn åt
c. Hämta taggattributvärdet
d. Hämta data mellan etikettpar

Utdata:

2.2 xml.etree.ElementTree

ElementTree föddes för att hantera XML, och det finns två implementationer i Python-standardbiblioteket: en är en ren Python-implementation, såsom xml.etree.ElementTree, och den andra är en snabbare xml.etree.cElementTree. Observera: Försök använda C-språket för att implementera det, eftersom det är snabbare och förbrukar mindre minne.

a. Korsa nästa lager av rotnoden
b. Index åtkomst till individuella taggar, attribut och text
c. Hitta den angivna taggen under root
d. Att navigera XML-filer
e. Modifiera XML-filen

Utdata:

Bifogat:

2.3 xml.sax.*

SAX är ett händelsedrivet API som använder SAX för att tolka XML i två delar: parsern och händelsehanteraren.

Parsern ansvarar för att läsa XML-dokumentet och skicka händelser till händelsehanteraren, såsom elementstart- och elementslutshändelser

Händelseprocessorn ansvarar för att svara på händelserna och bearbeta XML-data som skickas

Vanliga scenarier:

(1) Behandla stora dokument

(2) Endast en del av dokumentet krävs, eller så erhålls specifik information endast från filen

(3) Jag vill bygga min egen objektmodell





Föregående:Lösning: Installationsprogrammet som används för att installera Visual Studio är ofullständigt
Nästa:VS Code-kod snabba formateringsgenvägar
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com