Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 13625|Válasz: 0

[Forrás] A Python XML fájl elemzést valósít meg

[Linket másol]
Közzétéve 2018. 06. 05. 14:27:09 | | |
1. XML Bevezetés

Az XML (eXtensible Markup Language) egy bővíthető jelölőnyelvet jelent, amelyet adatok továbbítására és tárolására terveztek, és amely ma számos új technológia magjává vált, különböző területeken eltérő alkalmazással. Ez a web fejlődésének elkerülhetetlen terméke, amely megmutatja az SGML alapvető jellemzőit, a HTML egyszerű tulajdonságait, valamint sok új funkciót, például a világos és jól strukturált funkciót.

teszt. XML fájl

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

Az XML részletes bevezetéséért kérjük, lásd a következő oldalakat:http://www.w3school.com.cn/xmldom/dom_nodetype.asp

2. XML dokumentum elemzése

Három gyakori módszer létezik a python XML elemzésére: az egyik az xml.dom.* modul, amely a W3C DOM API implementációja, és nagyon alkalmas, ha a DOM API feldolgozására van szükséged; A második az xml.sax.* modul, amely a SAX API implementációja, amely a sebesség és memóriaigény érdekében feláldozza a kényelmet, a SAX pedig eseményalapú API, ami azt jelenti, hogy rengeteg dokumentumot képes feldolgozni "a levegőben" anélkül, hogy teljesen be kellene töltenie a memóriába; A harmadik az xml.etree.ElementTree modul (röviden ET), amely könnyű, Python-stílusú API-t biztosít, amely sokkal gyorsabb, mint a DOM, és sok kellemes API használható, mint a SAX, az ET ET.iterparse is "levegőben" feldolgozási módszert kínál, nincs szükség az egész dokumentum memóriába betöltésére, és az ET átlagos teljesítménye hasonló a SAX-hoz. Az API azonban egy kicsit hatékonyabb és könnyebb használni.

2.1 xml.dom.*

A Dokumentumobjektum Modell (DOM) egy szabványos programozási felület, amelyet a W3C szervezet ajánlott kiterjeszthető jelölőnyelvek kezelésére. Amikor egy DOM elemző egy XML dokumentumot parzel be, egyszerre olvassa az egész dokumentumot, az összes elemet egy memóriabeli fa struktúrában tárolja, majd a DOM által biztosított különböző funkciókat használhat a dokumentum tartalmának és szerkezetének olvasására vagy módosítására, vagy a módosított tartalom xml fájlba írására. Használd a xml.dom.minidom fájlt Pythonban az xml fájl elemzéséhez.

a. Szerezz alcímkéket
b. Címkék, amelyek megkülönböztetik ugyanazt a címkenevet
c. Szerezd meg a címke attribútumértékét
d. Adatgyűjtés címkepárok között

Hozam:

2.2 xml.etree.ElementTree

Az ElementTree az XML kezelésére született, és a Python szabványkönyvtárban két megvalósítás létezik: az egyik tiszta Python implementáció, például xml.etree.ElementTree, a másik pedig egy gyorsabb xml.etree.cElementTree. Megjegyzés: Próbáld meg a C nyelvet használni a megvalósításhoz, mert az gyorsabb és kevesebb memóriát fogyaszt.

a. Haladjunk át a gyökércsomópont következő rétegén
b. Index-hozzáférés egyéni címkékhez, attribútumokhoz és szöveghez
c. Keresse meg a megadott címkét a root alatt
d. XML fájlok áthaladása
e. Az XML fájl módosítása

Hozam:

Csatolva:

2.3 xml.sax.*

A SAX egy eseményvezérelt API, amely a SAX-t használja az XML két részre történő elemzésére: az elemzőre és az eseménykezelőre.

A parser felelős az XML dokumentum olvasásáért és az eseménykezelőnek történő események küldéséért, például elemkezdő és elemvégi események küldéséért

Az eseményfeldolgozó felelős az eseményekre való reagálásért és az XML adatok feldolgozásáért

Gyakori helyzetek:

(1) Nagy dokumentumok feldolgozása

(2) A dokumentum csak egy része szükséges, vagy konkrét információkat csak a fájlból szereznek be

(3) Saját objektummodellt szeretnék építeni





Előző:Megoldás: A Visual Studio telepítéséhez használt telepítő hiányos
Következő:VS Code kód gyors formázási gyorsbillentyűk
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com