lxml este un modul sofisticat, puternic, gratuit și unic Python, care se leagă bibliotecile libxml2 și libxslt, care permite dezvoltatorilor Python pentru a lucra cu atât XML și HTML fișiere confidențiale Python code.An prelucrare XML librarylxml lor este un XML (Extensible Markup Language ) bibliotecă prelucrarea scris în limbajul de programare Python, special conceput pentru a urmări caietul de sarcini API ElementTree cât mai mult posibil.
Se poate extinde API ElementTree pentru a expune funcționalitatea specifică a libxslt și libxml2 biblioteci, cum ar fi Relax NG (Next Generation-), XPath, XML Schema, c14n, XSLT (Extensible Stylesheet Language), etc.Use lxml pentru a apela cod Python de la stylesheetsDevelopers XSLT va putea folosi programul lxml pentru a apela cod Python de la foi de stil XSLT și expresii XPath prin funcții de extensie. O gamă largă de tutoriale sunt disponibile pe proiect & rsquo; s pagină (vezi link-ul de la sfarsitul articolului).
Software-ul este open source de proiectare și combină caracterul complet caracteristica și viteza bibliotecile menționate mai sus, cu simplitatea de Python & rsquo; s API (Application Programming Interface) .Getting incepand cu lxmlIt este destul de usor de instalat lxml pe o distributie GNU / Linux folosind Arhiva sursă distribuite pe Softoware și rsquo proiect & S site-ul oficial. Pur și simplu descărcați pachetul sursă, salvați-l pe directorul de pornire, despachetați-l, deschideți aplicația Terminal și să navigați la locația fișierelor arhivă extrase (de exemplu, cd /home/softoware/lxml-3.4.1).
Pornește & lsquo; & rsquo face; comanda a compila programul, ceea ce ar trebui să ia aproximativ 1-2 minute pe un computer modern. După o compilație de succes, executați & lsquo; & rsquo make install; comandă ca root, fie și lsquo; sudo make install & rsquo; comandă ca un utilizator privilegiat de a instala sisteme de wide.Supports lxml GNU / Linux și Microsoft Windows de operare systemsThe software-ul este sprijinit oficial pe sistemele de operare GNU / Linux și Microsoft Windows. Acesta a fost testat cu succes pe computerele pe 32 de biți și 64 de biți
Ce este nou în această versiune:.
- Caracteristici a adaugat:
- New Generator htmlfile HTML pentru a însoți elementare API xmlfile serializare. Patch de Burak Arslan.
- Bugs fix:
- lxml.sax.ElementTreeContentHandler nu inițializa superclasa sa.
Ce este nou în versiunea 3.3.1:
- Bugs fix:
- CG # 1014290: documente HTML parsate cu parser.feed () nu a reușit să găsească elemente în timpul tag repetare .
- CG # 1273709: Cladire PyPy eșuat din cauza lipsei de sprijin pentru PyUnicode_Compare () și PyByteArray _ * () în C-API PyPy lui .
- CG # 1274413: Compilation în MSVC eșuat din cauza lipsei & quot; stdint.h & quot; fișier antet standard.
- CG # 1274118: iterparse () nu a reușit să elimine BOM prefixat fișiere .
Ce este nou în versiunea 3.0 Alpha 2:
- Caracteristici adăugat:
- .iter () metoda elementelor accepta acum argumente tag ca & quot; {*} Numele & quot; pentru a căuta elemente cu un nume local dat în orice spațiu de nume. Cu acest plus, toate combinațiile de wildcard lucrează acum cum era de așteptat: & quot; {ns} nume & quot ;, & quot; {} nume & quot ;, & quot; {*} Numele & quot ;, & quot; {ns} * & quot ;, & quot; {} * & quot; și & quot; {*} * & quot ;. Rețineți că & quot; nume & quot; este echivalent cu & quot; {} & quot ;, nume dar & quot; * & quot; este & quot; {*} * & quot ;. Aceeași modificare se aplică .getiterator (), (), .itersiblings .iterancestors (), (), .iterdescendants .iterchildren () și .itertext () metode; cele strip_attributes (), strip_elements () și strip_tags () funcții precum și iterparse () clasa.
- C14N permite specificarea prefixele incluzive a fi promovat la cel mai înalt nivel în timpul serializare exclusiv.
- Bugs fix:
- Mod de siruri de caractere Unicode lungă în furaje () interfața parser nu a reușit să citească întregul șir.
Ce este nou în versiunea 2.3.5:
- Crash când fuzionează noduri text în element.remove ( ).
- Crash în parser sax / țintă la raportarea doctype gol.
Ce este nou în versiunea 2.3.4:
- Crash atunci când construirea unui nsmap (Element proprietate), cu URI-urile namespace gol.
- Crash din cauza stării de rasă, atunci când apar erori (sau mesaje de utilizator) în timpul prelucrării XSLT filet.
- XSLT CSS compilare ar putea ignora erorile de compilare.
Ce este nou în versiunea 2.3.2:
- Caracteristici adăugat:
- lxml.objectify.deannotate () are un nou cleanup_namespaces opțiune boolean pentru a elimina declarațiile namespace obiectiva (și, în general, a curăța declarațiilor namespace), după îndepărtarea adnotările de tip.
- lxml.objectify câștigat funcția sa proprie subelement () ca o copie a etree.SubElement, pentru a evita un import altfel redundant de lxml.etree pe partea de utilizator.
- Bugs fix:
- fixă & quot; & quot; descendent bug în cssselect a doua oară (după o primă fix în lxml 2.3.1). Schimbarea precedent a dus la o regresie serios de performanță pentru evaluarea XPath bazat a expresiei tradus. Rețineți că această rupe utilizarea unor expresii XPath generate fi căi de localizare XSLT care au lucrat anterior în 2.3.1.
- parsarea fixă a unor selectori în cssselect. Spațiu alb după combinatoare & quot; & Gt; & quot ;, & quot; + & quot; și & quot; ~ & quot; este acum ignorat în mod corect. Anterior a fost analizat este ca un combinator descendent. De exemplu, & quot; div & gt; .foo & quot; a fost analizat la fel ca & quot; div & gt; * .foo & quot; în loc de & quot; div & gt; .foo & quot;.
Ce este nou în versiunea 2.3.1:
- Caracteristici adăugat:
- Noua optiune kill_tags în lxml.html.clean pentru a elimina tag-uri specifice și conținutul lor (de exemplu, tot subarbore lor).
- pi.get () și pi.attrib cu instrucțiunile de procesare pentru a analiza pseudo-atribute de conținutul text de instrucțiuni de procesare.
- lxml.get_include () returnează o listă de căi includ care pot fi folosite pentru a compila codul C extern împotriva lxml.etree. Acest lucru este necesar pentru lxml static legat bazează atunci când codul trebuie să compileze împotriva exact aceleași versiuni de fișiere în afara ca lxml sine.
- Resolver.resolve_file () are o close_file opțiune suplimentară care configurează în cazul în care fișierul (-cum ar fi) obiectul va fi închis după ce a citit sau nu. În mod implicit, fișierul va fi închis, deoarece utilizatorul nu este de așteptat să păstreze o trimitere la acesta.
- Bugs fix:
- curățare HTML nu elimina "date:". Link-uri
- Integrarea html5lib parser juca acum la punerea în aplicare "oficial" în html5lib sine, ceea ce îl face să funcționeze cu versiuni mai noi ale bibliotecii.
- În lxml.sax, endElementNS () ar putea respinge în mod incorect un nume de etichetă simplu atunci când evenimentul de pornire corespunzător deduce același nume tag-ul simplu să fie în implicit spațiul de nume.
- Când un obiect fișier ca deschis este trecut în parse () sau iterparse (), parser-ul nu va mai aproape se după utilizare. Aceasta revine o schimbare în lxml 2.3 în cazul în care toate fișierele vor fi închise. Este responsabilitatea utilizatorilor de a închide în mod corespunzător fișier (-cum ar fi) obiectului, de asemenea, în cazurile de eroare.
- eroare afirmare în lxml.html.cleaner la eliminarea elementelor de nivel superior.
- În lxml.cssselect, utilizați XPath "A // B" (prescurtarea de la "A / nod descendent-sau auto-:: () / B") în loc de "A / descendent :: B 'pentru CSS selector descendent ("A B '). Acest lucru face câteva cazuri de margine să fie în concordanță cu comportamentul selector în WebKit și Firefox, și face mai multe expresii css căi de localizare valabile (pentru utilizare în xsl: template meci).
- În lxml.html, etichete non-selectat nu se mai arată în valorile forma colectate.
- Adăugarea / eliminarea valori la / de la un multiplu selectați câmp de formular ei selectează și le deselecteaza în mod corespunzător.
- Alte modificări:
- Static construiește poate specifica directorul de descărcare cu opțiunea---download dir.
Ce este nou în versiunea 2.3:
- Caracteristici adăugat:
- Atunci când caută pentru copii, lxml.objectify ia "{} etichetă" în sensul de spațiu de nume gol, spre deosebire de spațiul de nume părinte.
- Bugs fix:
- Când terminat de citit dintr-un obiect-fișier cum ar fi, parser solicită imediat .close () metoda.
- Când ați terminat de parsare, iterparse () se închide imediat fișierul de intrare.
- Work-în jurul pentru bug libxml2 care poate lăsa parser HTML într-o stare nefuncțională după parsarea un document rupt sever (stabilită în libxml2 punctul 2.7.8).
- tag-marque în HTML de cod de curatare este numit corect Marquee.
- Alte modificări:
- Unele funcții publice din Cython nivel C-API au tipuri de returnare mai explicite.
Ce este nou în versiunea 2.2.8 / 2.3 Beta 1:
- Crash în versiunile mai noi libxml2 atunci când Elemente dintre documentele care au atributele pe noduri XInclude înlocuit în mișcare.
- funcție XMLID () lipsește opționale parser și base_url parametrii.
- Caut etichetele wildcard din iterparse () a fost rupt in AP3.
- lxml.html.open_in_browser () nu au de lucru în Python 3 ca urmare a utilizării de os.tempnam. Este nevoie de acum un parametru opțional "codare".
Cerințe :
- Python
Comentariile nu a fost găsit