lxml

Software screenshot:
lxml
Dettagli del software:
Versione: 3.4.1
Data di caricamento: 17 Feb 15
Sviluppatore: Martijn Faassen
Licenza: Libero
Popolarità: 12

Rating: nan/5 (Total Votes: 0)

lxml è un sofisticato, potente, libero e unico modulo Python che lega le librerie libxml2 e libxslt, permettendo agli sviluppatori Python per lavorare sia con i file XML e HTML insider loro Python code.An elaborazione XML librarylxml è un XML (Extensible Markup Language ) elaborazione libreria scritta in linguaggio di programmazione Python, specificamente progettato per seguire le specifiche API ElementTree il più possibile.
Può estendere l'API ElementTree per esporre specifiche funzionalità delle librerie libxslt e libxml2, come Relax NG (Next-Generation), XPath, XML Schema, C14N, XSLT (Extensible Stylesheet Language), etc.Use lxml per chiamare codice Python da stylesheetsDevelopers XSLT saranno in grado di utilizzare il programma lxml per chiamare codice Python da fogli di stile XSLT e le espressioni XPath tramite funzioni di estensione. Una vasta gamma di tutorial sono disponibili nel progetto & rsquo; s homepage (vedi link alla fine di questo articolo).
Il software è open source per il design e combina la completezza caratteristica e la velocità delle librerie di cui sopra, con la semplicità di Python & rsquo; s API (Application Programming Interface) .Getting iniziato con lxmlIt è abbastanza facile da installare lxml su una distribuzione GNU / Linux utilizzando archivio di sorgenti distribuite su Softoware e il rsquo progetto e; s sito ufficiale. Basta scaricare il pacchetto sorgente, salvarlo sul proprio directory Home, scompattarlo, aprire l'applicazione Terminale e passare al percorso dei file di archivio estratti (ad esempio cd /home/softoware/lxml-3.4.1).
Eseguire il & lsquo; rendere & rsquo; comando per compilare il programma, che dovrebbe prendere circa 1-2 minuti su un computer moderno. Alla fine della compilazione, eseguire il & lsquo; make install & rsquo; comando come root o il & lsquo; sudo make install & rsquo; comando come un utente privilegiato di installare wide.Supports sistema lxml GNU / Linux e Microsoft Windows operativo Sistemi per software è ufficialmente supportato su GNU / Linux e sistemi operativi Microsoft Windows. E 'stato testato con successo su computer a 32-bit e 64-bit

Cosa c'è di nuovo in questo rilascio:.

  • Caratteristiche ha aggiunto:
  • Nuovo generatore htmlfile HTML per accompagnare il incrementale API XMLFILE serializzazione. Patch by Burak Arslan.
  • Bugs fisso:
  • lxml.sax.ElementTreeContentHandler non inizializza la sua superclasse.

Cosa c'è di nuovo nella versione 3.3.1:

  • Bugs fisso:
  • LP # 1014290: documenti HTML analizzati con parser.feed () non è riuscito a trovare elementi durante tag iterazione
  • .
  • LP # 1273709: Costruire in PyPy riuscita a causa della mancanza di supporto per PyUnicode_Compare () e PyByteArray _ * () in C-API di PyPy
  • .
  • LP # 1274413: Compilation in MSVC non riuscita a causa della mancanza & quot; stdint.h & quot; file di intestazione standard.
  • LP # 1274118: iterparse () non è riuscito a analizzare i file BOM prefisso
  • .

Cosa c'è di nuovo nella versione 3.0 Alpha 2:

  • Caratteristiche aggiunto:
  • Il metodo .iter () di elementi ora accetta argomenti tag come & quot; {*} Nome & quot; cercare elementi con un dato nome locale in un namespace. Con questa aggiunta, tutte le combinazioni di caratteri jolly ora funzionano come previsto: & quot; {ns} nome & quot ;, & quot; {} Nome & quot ;, & quot; {*} Nome & quot ;, & quot; {ns} * & quot ;, & quot; {} * & quot; e & quot; {*} * & quot ;. Notare che & quot; nome & quot; è equivalente a & quot; {} Nome & quot ;, ma & quot; * & quot; è & quot; {*} * & quot ;. La stessa modifica si applica alla .getiterator (), .itersiblings (), .iterancestors (), .iterdescendants (), .iterchildren () e .itertext () metodi, le strip_attributes (), strip_elements () e strip_tags () funzioni così come la classe iterparse ().
  • C14N permette di specificare i prefissi compreso da promuovere a livello superiore durante la serializzazione esclusivo.
  • Bugs fisso:
  • Passando stringhe Unicode lunghi nell'interfaccia parser di alimentazione () non è riuscito a leggere l'intera stringa.

Cosa c'è di nuovo nella versione 2.3.5:

  • Crash durante l'unione di nodi di testo a element.remove ( ).
  • Crash in parser sax / target quando si segnalano doctype vuoto.

Cosa c'è di nuovo nella versione 2.3.4:

  • Crash quando si costruisce un nsmap (proprietà Element) con URI dello spazio dei nomi vuoto.
  • Crash a causa di condizioni di gara quando gli errori (o messaggi utente) si verificano durante l'elaborazione XSLT filettata.
  • foglio di stile XSLT compilazione potrebbe ignorare gli errori di compilazione.

Cosa c'è di nuovo nella versione 2.3.2:

  • Caratteristiche aggiunto:
  • lxml.objectify.deannotate () ha un nuovo cleanup_namespaces opzione booleana per rimuovere le dichiarazioni di namespace oggettivare (e generalmente ripulire le dichiarazioni di namespace) dopo aver rimosso le annotazioni di tipo.
  • lxml.objectify guadagnato la sua funzione propria sottoelemento () come una copia di etree.SubElement per evitare un'importazione altrimenti ridondante lxml.etree sul lato utente.
  • Bugs fisso:
  • Risolto il & quot; discendente & quot; bug in cssselect una seconda volta (dopo una prima correzione in lxml 2.3.1). La variazione precedente determinato una grave regressione prestazioni per la valutazione basata XPath dell'espressione tradotto. Si noti che questo rompe l'utilizzo di alcune delle espressioni XPath generati come percorsi di locazione XSLT che hanno lavorato a 2.3.1.
  • parsing fisso di alcuni selettori in cssselect. Gli spazi bianchi dopo combinatori & quot; & Gt; & quot ;, & quot; + & quot; e & quot; ~ & quot; è ora ignorato correttamente. In precedenza è stato analizzato come un combinatore discendente. Ad esempio, & quot; div & gt; .foo & quot; è stato analizzato lo stesso come & quot; div & gt; * .foo & quot; invece di & quot; div & gt; .foo & quot;.

Cosa c'è di nuovo nella versione 2.3.1:

  • Caratteristiche aggiunto:
  • Nuova opzione kill_tags in lxml.html.clean per rimuovere i tag specifici e il loro contenuto (cioè il loro un'intera sottostruttura).
  • pi.get () e pi.attrib su istruzioni di elaborazione per analizzare pseudo-attributi dal contenuto del testo di istruzioni di elaborazione.
  • lxml.get_include () restituisce una lista di includere percorsi che possono essere utilizzati per compilare il codice C esterna contro lxml.etree. Questo è specificamente necessario per lxml staticamente collegati costruisce quando il codice necessario per compilare contro le stesse versioni di file di intestazione esatta come lxml sé.
  • Resolver.resolve_file () prende un CLOSE_FILE un'opzione aggiuntiva che configura se il file (-come) oggetto sarà chiuso dopo la lettura o meno. Per impostazione predefinita, il file verrà chiuso, in quanto l'utente non dovrebbe mantenere un riferimento ad esso.
  • Bugs fisso:
  • pulizia HTML non ha rimosso 'dati:'. Collegamenti
  • L'integrazione html5lib parser ora utilizza l'applicazione 'ufficiale' in html5lib sé, che rende il lavoro con i nuovi rilasci della biblioteca.
  • In lxml.sax, endElementNS () potrebbe erroneamente respingere un nome di tag normale quando l'evento di avvio corrispondente dedurre lo stesso nome di tag pianura di essere nello spazio dei nomi di default.
  • Quando un oggetto simile a file aperto viene passato in parse () o iterparse (), il parser non sarà più vicino dopo l'uso. Questo ripristina un cambiamento lxml 2.3 dove tutti i file dovrebbero essere chiusi. E 'responsabilità degli utenti di chiudere correttamente il file (-come) oggetto, anche in casi di errore.
  • errore di asserzione in lxml.html.cleaner quando scartando gli elementi di livello superiore.
  • In lxml.cssselect, utilizzare il xpath 'A // B' (abbreviazione di 'A / node-discendente o-self :: () / B') al posto di 'A / discendente :: B' per il css Selettore discendente ('A B'). Questo rende alcuni casi limite di essere coerente con il comportamento del selettore in WebKit e Firefox, e rende più espressioni css validi percorsi di locazione (per l'uso in xsl: template match).
  • In lxml.html, tag non selezionati mostrano non più in forma Valori raccolti.
  • Aggiunta / rimozione di valori da / per una select campo modulo multiple li seleziona e li deseleziona correttamente.
  • Altre modifiche:
  • Static costruisce può specificare la directory di download con l'opzione --download-dir.

Cosa c'è di nuovo nella versione 2.3:

  • Caratteristiche aggiunto:
  • Quando si cerca per i bambini, lxml.objectify prende '{} tag' nel senso di un namespace vuoto, in contrasto con il namespace genitore.
  • Bugs fisso:
  • Quando finito di leggere da un oggetto simile a file, il parser chiama immediatamente il suo metodo .close ().
  • Una volta terminato l'analisi, iterparse () chiude immediatamente il file di input.
  • Work-in giro per libxml2 bug che può lasciare il parser HTML in uno stato di non-funzionale dopo l'analisi di un documento di rotto gravemente (fissato in libxml2 2.7.8).
  • tag marque in HTML pulizia del codice si chiama correttamente tendone.
  • Altre modifiche:
  • Alcune funzioni pubbliche nel Cython-livello C-API hanno tipi restituiti più espliciti.

Cosa c'è di nuovo nella versione 2.2.8 / 2.3 Beta 1:

  • Crash in versioni più recenti quando libxml2 elementi tra documenti che avevano attributi sui nodi XInclude sostituiti in movimento.
  • funzione XMLID () mancava parametri parser e base_url opzionali.
  • Ricerca di tag jolly in iterparse () era rotto in PY3.
  • lxml.html.open_in_browser () non ha funzionato in Python 3 a causa dell'uso di os.tempnam. Ci vuole ora un parametro opzionale 'encoding'.

Requisiti :

  • Python

Programmi simili

Altri software di sviluppo Martijn Faassen

hurry.resource
hurry.resource

11 May 15

z3c.relationfield
z3c.relationfield

14 Apr 15

Commenti a lxml

I commenti non trovato
Aggiungi commento
Accendere le immagini!