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
|