LXML er en sofistikert, kraftig, gratis og unike Python modul som binder libxml2 og libxslt bibliotekene, slik at Python utviklere å jobbe med både XML og HTML-filer insider sitt Python code.An XML behandling librarylxml er en XML (Extensible Markup Language ) behandler bibliotek skrevet i programmeringsspråket Python, spesielt designet for å følge ElementTree API-spesifikasjonen så mye som mulig.
Det kan forlenge ElementTree API for å eksponere spesifikk funksjonalitet libxslt og libxml2 biblioteker, for eksempel Relax NG (Next-Generation), XPath, XML Schema, c14n, XSLT (Extensible Stylesheet Language), til etc.Use LXML kalle Python-kode fra XSLT stylesheetsDevelopers vil være i stand til å bruke LXML programmet til å ringe Python-kode fra XSLT stilark og XPath uttrykk via skjøte funksjoner. Et bredt spekter av opplæringsprogrammer er tilgjengelige på prosjektet & rsquo; s hjemmeside (se linken på slutten av artikkelen).
Programvaren er åpen kildekode ved design og kombinerer funksjon fullstendighet og hastigheten på de nevnte biblioteker med enkelhet av Python & rsquo; s API (Application Programming Interface) .Getting startet med lxmlIt er ganske enkelt å installere LXML på en GNU / Linux-distribusjon med kilde arkiv fordelt på Softoware og prosjektet & rsquo; s offisielle hjemmeside. Bare laste ned kilde pakke, lagre det på hjemmekatalogen din, pakk det, åpner Terminal app og naviger til plasseringen av de utpakkede arkivfiler (f.eks cd /home/softoware/lxml-3.4.1).
Kjør & lsquo; lage & rsquo; kommandoen for å sette sammen programmet, som skal ta ca 1-2 minutter på en moderne datamaskin. Etter en vellykket samling, kjøre & lsquo; make install & rsquo; kommando som root eller & lsquo; sudo make install & rsquo; kommando som en privilegert brukeren å installere LXML system wide.Supports er offisielt støttet GNU / Linux og Microsoft Windows systemsThe programvare på GNU / Linux og Microsoft Windows-operativsystemer. Det har blitt testet på 32-bit og 64-bit datamaskiner
Hva er nytt i denne utgivelsen:.
- Funksjoner la til:
- Ny htmlfile HTML generator for å følge den trinnvise xmlfile serialisering API. Patch av Burak Arslan.
- Bugs fast:
- lxml.sax.ElementTreeContentHandler ikke initialisere sin superklasse.
Hva er nytt i versjon 3.3.1:
- Bugs fast:
- LP # 1014290: HTML-dokumenter analyseres med parser.feed () ikke klarte å finne elementer under tag køyring .
- LP # 1273709: Building i PYPY mislyktes på grunn av manglende støtte for PyUnicode_Compare () og PyByteArray _ * () i PYPY C-API .
- LP # 1274413: Compilation i MSVC mislyktes på grunn av manglende & quot; stdint.h & quot; standard header fil.
- LP # 1274118: iterparse () mislyktes i å analysere BOM prefiks filer .
Hva er nytt i versjon 3.0 Alpha 2:
- Funksjoner lagt:
- .iter () metode for elementer aksepterer nå tag argumenter som & quot; {*} navn & quot; å søke etter elementer med en gitt lokalt navn på noen navnerommet. Med dette tillegget, alle kombinasjoner av jokertegn nå fungerer som forventet: & quot; {ns} navn & quot ;, & quot; {} navn & quot ;, & quot; {*} navn & quot ;, & quot; {ns} * & quot ;, & quot; {} * & quot; og & quot; {*} * & quot ;. Legg merke til at & quot; navn & quot; tilsvarer til & quot; {} navn & quot ;, men & quot; * & quot; er & quot; {*} * & quot ;. Den samme endringen gjelder .getiterator (), .itersiblings (), .iterancestors (), .iterdescendants (), .iterchildren () og .itertext () metoder, de strip_attributes (), strip_elements () og strip_tags () funksjoner samt iterparse () klasse.
- C14N lar spesifisere inkluderende prefikser å bli forfremmet til øverste nivå i løpet av eksklusive serialisering.
- Bugs fast:
- Passing lange Unicode-strenger i fôret () parser grensesnitt ikke klarte å lese hele strengen.
Hva er nytt i versjon 2.3.5:
- Crash når sammenslåing tekstnoder i element.remove ( ).
- Crash i sax / target parser ved rapportering tom doctype.
Hva er nytt i versjon 2.3.4:
- Crash når du bygger en nsmap (Element eiendom) med tom navnerom URI.
- Crash grunn av rase tilstand når feil (eller brukermeldinger) oppstå under gjenget XSLT behandling.
- XSLT stilark kompilering kan ignorere kompilering feil.
Hva er nytt i versjon 2.3.2:
- Funksjoner lagt:
- lxml.objectify.deannotate () har en ny boolsk opsjons cleanup_namespaces å fjerne de objectify navneromdeklarasjoner (og generelt rydde opp navneromdeklarasjoner) etter fjerning av typen merknader.
- lxml.objectify fikk sin egen underelement () funksjon som en kopi av etree.SubElement å unngå en ellers overflødig import av lxml.etree på brukerens side.
- Bugs fast:
- Fast & quot; kommer & quot; bug i cssselect en gang (etter en første fix i LXML 2.3.1). Den forrige endringen resulterte i en alvorlig ytelse regresjon for XPath basert evaluering av den oversatte uttrykk. Merk at dette bryter bruken av noen av de genererte XPath uttrykk som XSLT plassering baner som tidligere jobbet i 2.3.1.
- Fast analyseringen av noen velgere i cssselect. Mellomrom etter combinators & quot; & Gt; & quot ;, & quot; + & quot; og & quot; ~ & quot; er nå fullstendig ignorert. Tidligere er ble tolket som en etterkommer combinator. For eksempel, & quot; div & gt; .foo & quot; ble analysert det samme som & quot; div & gt; * .foo & quot; i stedet for & quot; div & gt; .foo & quot;.
Hva er nytt i versjon 2.3.1:
- Funksjoner lagt:
- Nytt alternativ kill_tags i lxml.html.clean å fjerne spesifikke koder og deres innhold (dvs. sin helhet subtre).
- pi.get () og pi.attrib på prosseseringsinstruksjoner å tolke pseudo-attributter fra tekstinnholdet i behandlingsinstruksjoner.
- lxml.get_include () returnerer en liste over inkluderer baner som kan brukes til å kompilere eksterne C-kode mot lxml.etree. Dette er spesielt nødvendig for statisk linket LXML bygger når kode må kompilere mot nøyaktig samme header filversjoner som LXML seg selv.
- Resolver.resolve_file () tar et ekstra alternativ close_file som konfigurerer hvis filen (-lignende) objekt vil være stengt etter å ha lest eller ikke. Som standard, vil filen bli stengt, som brukeren ikke er ventet å holde en referanse til det.
- Bugs fast:
- HTML rengjøring fjernet ikke 'data:'. Lenker
- html5lib parser integrering bruker nå den "offisielle" implementering i html5lib selv, som gjør at det fungerer med nyere versjoner av biblioteket.
- I lxml.sax, kunne endElementNS () feilaktig avviser en vanlig tag navn når den tilsvarende start hendelsen utledes samme vanlig kodenavn for å være i standard navnerom.
- Når en åpen fil-lignende gjenstand er gått inn parse () eller iterparse (), vil parseren ikke lenger lukke den etter bruk. Dette går tilbake en endring i LXML 2.3 der alle filene vil bli lukket. Det er brukerens ansvar å lukke riktig filen (-lignende) objekt, også i feil tilfeller.
- Assertion feil i lxml.html.cleaner avfall topp-nivå elementer.
- I lxml.cssselect, bruker xpath 'A // B' (forkortelse for 'A / etterkommer-eller-self :: node () / B') i stedet for 'A / etterkommer :: B' for css kommer velgeren ('A B'). Dette gjør noen edge tilfeller å være konsekvent med velgeratferd i WebKit og Firefox, og gjør flere css uttrykk gyldig plassering stier (for bruk i xsl: template kamp).
- I lxml.html, ikke valgte kodene ikke lenger dukke opp i de innsamlede form verdier.
- Legge til / fjerne verdier til / fra en multippel velger skjemafelt velger dem skikkelig og unselects dem.
- Andre endringer:
- Statisk bygger kan angi nedlastingskatalogen med --download-dir alternativ.
Hva er nytt i versjon 2.3:
- Funksjoner lagt:
- Når vi leter etter barn, tar lxml.objectify '{} tag "som betyr en tom navnerom, i motsetning til den overordnede navnerom.
- Bugs fast:
- Når du er ferdig med å lese fra en fil-lignende objekt, kaller parser umiddelbart sin .close () -metoden.
- Når du er ferdig parsing, lukker iterparse () umiddelbart inndatafilen.
- Work-around for libxml2 bug som kan forlate HTML-parser i en ikke-fungerende tilstand etter parsing en severly ødelagt dokument (fast i libxml2 2.7.8).
- bilmerket tag i HTML opprydding kode er riktig navn telt.
- Andre endringer:
- Noen offentlige funksjoner i Cython-nivå C-API har mer eksplisitte returtyper.
Hva er nytt i versjon 2.2.8 / 2.3 Beta 1:
- Crash i nyere libxml2 versjoner når bevegelige elementer mellom dokumenter som hadde attributter på erstattet XInclude noder.
- XMLID () -funksjonen manglet de valgfrie parser og base_url parametere.
- Søker etter joker koder i iterparse () ble brutt i PY3.
- lxml.html.open_in_browser () fungerte ikke i Python tre på grunn av bruk av os.tempnam. Det tar nå en valgfri 'koding' parameter.
Krav :
- Python
Kommentarer ikke funnet