Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 13625|Odpowiedź: 0

[Źródło] Python implementuje parsowanie plików XML

[Skopiuj link]
Opublikowano 05.06.2018 14:27:09 | | |
1. XML Wprowadzenie

XML (eXtensible Markup Language) odnosi się do rozszerzalnego języka znaczników, zaprojektowanego do przesyłania i przechowywania danych, który stał się podstawą wielu nowych technologii dzisiaj, z różnymi zastosowaniami w różnych dziedzinach. Jest to nieunikniony produkt rozwoju sieci do pewnego etapu, który posiada podstawowe cechy SGML, proste cechy HTML oraz wiele nowych funkcji, takich jak przejrzystość i dobrze zorganizowanie.

test. Plik XML

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

Szczegółowe wprowadzenie do XML znajdziesz w:http://www.w3school.com.cn/xmldom/dom_nodetype.asp

2. XML parsowanie dokumentów

Istnieją trzy powszechne metody przetwarzania XML przez Pythona: jedną jest moduł xml.dom.*, który jest implementacją API W3C DOM i jest bardzo odpowiedni, jeśli musisz przetwarzać API DOM; Drugim jest moduł xml.sax.*, będący implementacją API SAX, poświęcającym wygodę na rzecz szybkości i zużycia pamięci, a SAX jest API oparte na zdarzeniach, co oznacza, że może przetwarzać ogromną liczbę dokumentów "w powietrzu" bez konieczności całkowitego ładowania ich do pamięci; Trzeci to moduł xml.etree.ElementTree (w skrócie ET), który oferuje lekkie API w stylu Pythona, znacznie szybsze niż DOM, a w porównaniu do SAX można korzystać z wielu przyjemnych API, ET ET.iterparse oferuje także metodę przetwarzania "w powietrzu", nie ma potrzeby ładowania całego dokumentu do pamięci, a średnia wydajność ET jest podobna do SAX. Jednak API jest trochę bardziej wydajne i łatwiejsze w obsłudze.

2.1 xml.dom.*

Model Obiektu Dokumentu (DOM) to standardowy interfejs programistyczny zalecany przez organizację W3C do obsługi rozszerzalnych języków znaczników. Gdy parser DOM analizuje dokument XML, odczytuje cały dokument naraz, przechowuje wszystkie elementy dokumentu w strukturze drzewa w pamięci, a następnie możesz użyć różnych funkcji oferowanych przez DOM do odczytania lub modyfikacji treści i struktury dokumentu albo zapisywania zmodyfikowanej zawartości do pliku xml. Użyj xml.dom.minidom w Pythonie, aby przeanalizować plik xml.

a. Pobierz podtagi
b. Etykiety rozróżniające tę samą nazwę tagu
c. Pobierz wartość atrybutu tagu
d. Uzyskanie danych pomiędzy parami etykiet

Wyjście:

2.2 xml.etree.ElementTree

ElementTree powstał do obsługi XML, a w standardowej bibliotece Pythona są dwie implementacje: jedna to czysta implementacja Pythona, taka jak xml.etree.ElementTree, a druga to szybszy xml.etree.cElementTree. Uwaga: Spróbuj użyć języka C do implementacji, ponieważ jest szybszy i zużywa mniej pamięci.

a. Przejdź kolejną warstwę węzła korzeniowego
b. Dostęp indeksowy do poszczególnych tagów, atrybutów i tekstu
c. Znajdź określony tag w korzeniu
d. Przeszukiwanie plików XML
e. Zmodyfikuj plik XML

Wyjście:

Załączone:

2.3 xml.sax.*

SAX to API oparte na zdarzeniach, które wykorzystuje SAX do parsowania XML w dwóch częściach: parserze i obsłudze zdarzeń.

Parser odpowiada za odczyt dokumentu XML i wysyłanie zdarzeń do obsługi zdarzeń, takich jak start elementu i koniec elementu

Procesor zdarzeń odpowiada za reagowanie na zdarzenia i przetwarzanie przekazywanych danych XML

Typowe scenariusze:

(1) Przetwarzanie dużych dokumentów

(2) Wymagana jest tylko część dokumentu lub konkretne informacje pozyskane są wyłącznie z akt

(3) Chcę zbudować własny model obiektowy





Poprzedni:Rozwiązanie: Instalator użyty do instalacji Visual Studio jest niekompletny
Następny:Szybkie skróty formatowania kodu VS Code
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com