lxml egy kifinomult, erőteljes, szabad és egyedülálló Python modul, amely megköti a libxml2 és libxslt könyvtárak, így Python fejlesztők dolgozni XML és HTML fájlokat bennfentes a Python code.An XML feldolgozás librarylxml egy XML (Extensible Markup Language ) Processing Library írva a Python programozási nyelv, kifejezetten, hogy kövesse a ElementTree API specifikáció, amennyire csak lehetséges.
Bővíti a ElementTree API, hogy ki az adott funkció a libxslt és libxml2 könyvtárakat, mint a Relax NG (Next Generation), XPath, XML-séma, c14n, XSLT (Extensible Stylesheet Language), etc.Use lxml hívni Python kódot XSLT stylesheetsDevelopers képes lesz használni a lxml programod Python kódot XSLT stíluslapok és XPath kifejezéseket keresztül kiterjesztése funkciót. A széles ismertetőket a projekt-ezte honlapját (lásd a link végén a cikk).
A szoftver nyílt forráskódú tervezési és egyesíti a funkció teljessége és sebessége a fent említett könyvtárak az egyszerű Python-ezte s API (Application Programming Interface) .Getting kezdődött lxmlIt meglehetősen könnyen telepíthető lxml a GNU / Linux disztribúció segítségével forráskód elosztott Softoware és a projekt-ezte hivatalos honlapja. Egyszerűen töltse le a forrás csomagot, mentse a Home könyvtár, csomagolja ki, nyissa meg a Terminal alkalmazást, és keresse meg a helyet a kitermelt archív fájlokat (pl cd /home/softoware/lxml-3.4.1).
Fuss a & lsquo; make & rsquo; paranccsal fordíthatjuk le a programot, amely körülbelül 1-2 percig egy modern számítógép. Miután egy sikeres összeállítása, futtassa a & lsquo; make install-ezte parancsot root, vagy a & lsquo; sudo make install-ezte parancsot a privilegizált felhasználó telepítse lxml rendszer wide.Supports GNU / Linux és Microsoft Windows operációs rendszerekEnnek szoftver hivatalosan támogatott GNU / Linux és Microsoft Windows operációs rendszerek. Sikeresen tesztelték a 32 bites és 64 bites számítógépek.
Mi az új ebben a kiadásban:
- Tulajdonságok hozzátette:
- New htmlfile HTML generátor kísérő inkrementális XMLFile serialization API. Patch által Burak Arslan.
- hiba javítva:
- lxml.sax.ElementTreeContentHandler nem inicializálja a superclass.
Mi az új verzióban 3.3.1:
- hiba javítva:
- LP # 1014290: HTML dokumentumok elemzett a parser.feed () nem sikerült megtalálni elemek alatt tag iteráció.
- LP # 1273709: Épület PyPy miatt nem sikerült a hiányzó támogatást PyUnicode_Compare () és PyByteArray _ * () in PyPy a C-API.
- LP # 1274413: Compilation a MSVC miatt nem sikerült, nincs & quot; stdint.h & quot; szabvány header fájlt.
- LP # 1274118: iterparse () Nem sikerült elemezni BOM előtaggal fájlokat.
Mi az új 3.0 verzió Alpha 2:
- Tulajdonságok hozzá:
- A .iter () metódusa elemek most elfogadja tag érvek, mint & quot; {*} nevet & quot; keresni elemeket, az adott helyi nevét semmilyen névtér. Ezzel a kiegészítéssel, minden kombináció Helyettesítõkarakterek teremteni a várt módon működnek: & quot; {ns} nevet & quot ;, & quot; {} nevet & quot ;, & quot; {*} nevet & quot ;, & quot; {ns} * & quot ;, & quot; {} * & quot; és & quot; {*} * & quot ;. Ne feledje, hogy & quot; name & quot; egyenértékű & quot; {} nevet & quot ;, de & quot; * & quot; & quot; {*} * & quot ;. Ugyanez a változás vonatkozik a .getiterator (), .itersiblings (), .iterancestors (), .iterdescendants (), .iterchildren () és .itertext () metódus, a strip_attributes (), strip_elements () és strip_tags () függvények valamint a iterparse () osztály.
- C14N megadását teszi a befogadó eleji, hogy támogatni kell a felső szintű során exkluzív serialization.
- hiba javítva:
- Átadás hosszú Unicode stringeket a takarmány () elemző felülete elmulasztotta elolvasni az egész szöveget.
Mi az új verzióban 2.3.5:
- Crash egyesítésekor szöveges csomópontok element.remove ( ).
- Crash Sax / target elemző bejelentésekor üres doctype.
Mi az új verzióban 2.3.4:
- Összeomlás épület nsmap (Element tulajdon) a üres névtér URI-k.
- Crash miatt race condition ha hibák (vagy a felhasználói üzenetek) során előforduló menetes XSLT feldolgozó.
- XSLT összeállítása is figyelmen kívül hagyja, hogy fordítási hibákat.
Mi az új verzióban 2.3.2:
- Tulajdonságok hozzá:
- lxml.objectify.deannotate () van egy új boolean lehetőség cleanup_namespaces, hogy távolítsa el a tárgyiasítani névtér nyilatkozatok (és általában tisztítsák meg a névtér nyilatkozatok) eltávolítása után a típusú megjegyzéseket.
- lxml.objectify szerzett saját részelemre () függvény egy példányát etree.SubElement elkerülni az egyébként felesleges import lxml.etree a felhasználói oldalon.
- hiba javítva:
- Javítva a & quot; leszármazottja & quot; bug in cssselect másodszor (miután az első javítás az lxml 2.3.1). Az előző változást eredményezett komoly teljesítményt regressziót az XPath alapú értékelése a lefordított kifejezés. Megjegyzendő, hogy ez megtöri a használat Egyes létrehozott XPath kifejezéseket XSLT elérési útvonalak, amely korábban működött a 2.3.1.
- Fix elemzés néhány kijelölõket cssselect. Utáni szóközöket combinators & quot; & Gt; & quot ;, & quot; + & quot; és a & quot; ~ & quot; most helyesen figyelmen kívül hagyja. Korábban is volt elemzett leszármazottjaként kombinátor. Például, & quot; div & gt; .foo & quot; ben elemzett azonos a & quot; div & gt; * .foo & quot; ahelyett, & quot; div & gt; .foo & quot;.
Mi az új a 2.3.1-es verzió:
- Tulajdonságok hozzá:
- Új lehetőség kill_tags a lxml.html.clean, hogy távolítsa el címkékkel és azok tartalmát (azaz a teljes részfa).
- pi.get () és pi.attrib a feldolgozási utasítások elemezni ál-attribútumokat a szöveg tartalma feldolgozási utasításokat.
- lxml.get_include () visszaad egy tartalmazzák utakat lehet összeállításához használt külső C kód ellen lxml.etree. Ez kifejezetten szükséges statikusan linkelt lxml épít, amikor kódot kell lefordítania elleni pontosan ugyanazt a header fájlt változatok lxml magát.
- Resolver.resolve_file () tart, további lehetőséget close_file, hogy konfigurálja, ha a fájl (-szerű) objektum zárva lesz elolvasása után, vagy sem. Alapértelmezésben a fájl zárva lesz, amíg a felhasználó nem várható, hogy az arra való utalás.
- hiba javítva:
- HTML tisztító nem szüntette meg adatait: "linkeket.
- A html5lib értelmező integrációs most használja a "hivatalos" végrehajtása html5lib magát, ami miatt ez a munka az újabb kiadásokban a könyvtár.
- A lxml.sax, endElementNS () is helytelenül elutasítja a sima tag nevét, ha a megfelelő indítási esemény következtetni azonos sima tag nevét, hogy az alapértelmezett névtér.
- Ha egy megnyitott fájl-szerű objektum adódik át parse () vagy iterparse (), az elemző már nem zárja be a használat után. Ez visszaállítja a változás lxml 2.3, ahol az összes fájl is kell zárni. Ez a felhasználó felelőssége, hogy megfelelő zárását fájl (-szerű) tárgya, szintén előfordult hibák.
- Assertion hiba lxml.html.cleaner ha eldobja a felső szintű elemeket.
- A lxml.cssselect, használja a xpath "A // B" (röviden "A / leszármazottja-or-self :: node () / B") helyett "A / leszármazottja :: B" a css leszármazottja választó ("A B"). Ez teszi néhány szélén esetben összhangban kell lennie a választó viselkedés WebKit és a Firefox, és így több css kifejezések érvényes, az elérési útvonalak (használatra xsl: template match).
- A lxml.html, nem választott tag-ek már nem jelennek meg az összegyűjtött formában értékeket.
- hozzáadása / eltávolítása értékek felé / felől több válasszuk űrlapmezőben megfelelően kiválasztja őket, és unselects őket.
- Egyéb változások:
- Static épít meghatározhatja a letöltési könyvtárat a --download-dir opciót.
Mi az új verzió 2.3:
- Tulajdonságok hozzá:
- Ha megvizsgáljuk a gyermekek számára, lxml.objectify vesz '{} tag "a következőket jelenti egy üres névtérben, szemben a szülő névtérben.
- hiba javítva:
- elolvasása után egy fájlból alakú tárgy, az értelmező azonnal kéri a .close () metódust.
- Ha elkészült elemzés, iterparse () azonnal bezárja a bemeneti fájlt.
- Munka-körbe libxml2 bug, hogy el tudja hagyni a HTML értelmező egy nem működő állam elemzés után a Súlyosan törött dokumentum (rögzített libxml2 2.7.8).
- autómárka tag HTML kódot razzia nevét helyesen körvonalát.
- Egyéb változások:
- Néhány közfeladatot lát a Cython szintű C-API több explicit visszatérési típus.
Mi az új verzióban 2.2.8 / 2.3 Beta 1:
- Crash az újabb verziókat, ha libxml2 mozgó elemek között dokumentációkat, attribútumokat cserélni XInclude csomópontok.
- XMLID () függvény hiányzik az opcionális elemző és BASE_URL paraméterek.
- Keresés a helyettesítő címkék iterparse () megtört Py3.
- lxml.html.open_in_browser () nem működik a Python 3 használata miatt a os.tempnam. Most egy opcionális "kódolás" paramétert.
követelmények :
- Python
Hozzászólás nem található