Hvordan: REGEX til Parse XML

Hvordan: REGEX til Parse XML


Parsing XML er en utfordring til de som ønsker å være tekst analysator grunn XML er utvidelsesmuligheter. XML formatering konvensjoner er hierarkisk i naturen, noe som betyr at noen koder dominere andre koder. Regular Expressions (regexes) identifisere XML tekst mønstre - En REGEX for matchende XML-koder vil matche alt inne XML-koder <>, men vil ikke vise den hierarkiske organiseringen av disse kodene. Det er mulig å skille denne koden struktur fra teksten ved hjelp av programmeringsspråket Python og Natural Language Toolkit pakken, som bygger regulære uttrykk og tekst manipulasjon og kan vise XML-koder og deres organisasjon.

Bruksanvisning

1 Åpne et terminalvindu og skriv kommandoen "python -v" ved ledeteksten for å sjekke tilstedeværelse og versjon av Python på datamaskinen din. Gå til NLTK hjemmeside og laste ned NLTK installasjonspakken som passer for ditt operativsystem. Sjekk at NLTK er riktig installert ved å skrive kommandoen ">>> import nltk" i Python teksten.

2 Skriv ">>> nltk.download ()" for å åpne et vindu. Velg raden "alle" og klikk på nedlastingsknappen. Dette vil laste ned en rekke tekster for NLTK å jobbe med, blant dem Shakespeares "Kjøpmannen i Venedig" som er formatert med spesielle XML-koder for skuespill.

3 Importer Merchant of Venice merket i XML med følgende kommando ved Python teksten:

merchant_file = nltk.data.find ( 'svamp / Shakespeare / merchant.xml')

Gi filen en variabel, slik at du kan manipulere det med Python kommandoer:

rå = open (merchant_file) .read ()

Bare for å være sikker på at det er der, skriver du inn følgende kommando for å vise de første 168 tegnene:

skrive ut rå [0: 168]

Du vil se XML header koder og de spesielle XML leke koder.

4 Skriv inn følgende kommando ved Python teksten:

fra nltk.etree.ElementTree import ElementTree

og trykk på "Return" og deretter skriver du inn følgende ved Python teksten:

kjøpmann = ElementTree (). analysere (merchant_file)

Den parse kommandoen tillater brukeren å vise XML-koder og deres innhold. Å bygge en hierarkisk visning av riktig nestet XML-koder, skriver du inn følgende kommando ved Python teksten:

merchant.getchildren ()

Dette vil vise alle de spesielle XML leke koder i sin hierarkiske rekkefølge. Utgangen av denne kommandoen skal se slik ut:

[<Element TITLE på 2261b48>, <Element Personae på 2261b20>, <Element SCNDESCR på 22cc260>, <Element PLAYSUBT på 22cc198>, <Element ACT på 22cc0f8>, <Element ACT på f2bff08>, <Element ACT på f3218a0>, <Element ACT på f0e8a30>, <Element ACT på ee07328>]