lxml

Logiciel capture d'écran:
lxml
Détails logiciels:
Version: 3.4.1
Date de transfert: 17 Feb 15
Développeur: Martijn Faassen
Licence: Gratuit
Popularité: 72

Rating: nan/5 (Total Votes: 0)

lxml est un module sophistiqué, puissant, libre et unique Python qui lie les bibliothèques libxml2 et libxslt, permettant aux développeurs Python de travailler à la fois avec les fichiers XML et HTML initié leur Python code.An traitement XML librarylxml est un fichier XML (Extensible Markup Language ) traitement bibliothèque écrite dans le langage de programmation Python, spécialement conçu pour répondre aux spécifications API ElementTree autant que possible.
Elle peut se étendre l'API ElementTree pour exposer des fonctionnalités spécifiques des libxslt et libxml2 bibliothèques, comme Relax NG (Next-Generation), XPath, XML Schema, C14N, XSLT (Extensible Stylesheet Language), etc.Use lxml appeler du code Python stylesheetsDevelopers XSLT pourront utiliser le programme de lxml d'appeler du code Python à partir de feuilles de style XSLT et expressions XPath via des fonctions d'extension. Un large éventail de tutoriels sont disponibles sur le projet & rsquo; s page d'accueil (voir le lien à la fin de l'article).
Le logiciel est open source par la conception et combine l'exhaustivité de fonction et la vitesse des bibliothèques susmentionnés avec la simplicité de Python & rsquo; API (Application Programming Interface) .Getting de commencé avec lxmlIt est très facile à installer lxml sur une distribution GNU / Linux en utilisant le site officiel de; archive source distribué sur Softoware et le projet & rsquo. Il suffit de télécharger le paquet source, enregistrez-le sur votre répertoire d'accueil, décompresser, ouvrez l'application Terminal et naviguez jusqu'à l'emplacement des fichiers d'archives extraites (par exemple de /home/softoware/lxml-3.4.1 cd).
Exécutez le & lsquo; faire & rsquo; commande pour compiler le programme, qui devrait prendre environ 1-2 minutes sur un ordinateur moderne. Après une compilation réussie, exécutez le & lsquo; make install & rsquo; commande en tant que root ou & lsquo; sudo make install & rsquo; commande en tant qu'utilisateur privilégié pour installer wide.Supports système lxml GNU / Linux et Microsoft Windows Systèmes de logiciels est officiellement soutenue sur GNU / Linux et Microsoft Windows systèmes d'exploitation. Il a été testé avec succès sur des ordinateurs 32 bits et 64 bits

Ce qui est nouveau dans cette version:.

  • Caractéristiques ajouté:
  • Nouveau générateur htmlfile HTML pour accompagner le incrémentale API xmlfile de sérialisation. Patch de Burak Arslan.
  • Correction de bugs:
  • lxml.sax.ElementTreeContentHandler n'a pas initialiser sa superclasse.

Ce qui est nouveau dans la version 3.3.1:

  • Correction de bugs:
  • LP # 1014290: documents HTML analysés avec parser.feed () a échoué à trouver des éléments pendant tag itération
  • .
  • LP # 1273709: Bâtiment à PyPy échoué en raison du manque de soutien pour PyUnicode_Compare () et PyByteArray _ * () dans C-API de PyPy
  • .
  • LP # 1274413: Compilation dans MSVC échoué en raison du manque & quot; stdint.h & quot; fichier d'en-tête standard.
  • LP # 1274118: iterparse () a échoué pour analyser BOM préfixé fichiers
  • .

Ce qui est nouveau dans la version 3.0 Alpha 2:

  • Caractéristiques ajouté:
  • La méthode .iter () accepte désormais d'éléments tag arguments comme & quot; {*} nom & quot; pour rechercher des éléments avec un nom local donné dans ne importe quel espace de noms. Avec cet ajout, toutes les combinaisons de caractères génériques fonctionnent maintenant comme prévu: & quot; {ns} nom & quot ;, & quot; {} nom & quot ;, & quot; {*} nom & quot ;, & quot; {ns} * & quot ;, & quot; {} * & quot; et & quot; {*} * & quot ;. Notez que & quot; nom & quot; est équivalente à & quot; {} & quot ;, nom mais & quot; * & quot; est & quot; {*} * & quot ;. Le même changement se applique à la .getiterator (), (), .itersiblings .iterancestors (), (), .iterdescendants .iterchildren () et .itertext (); les méthodes strip_attributes (), () et strip_elements strip_tags () fonctions ainsi que la iterparse () classe.
  • C14N permet de spécifier les préfixes inclusifs pour être promu au niveau supérieur pendant la sérialisation exclusive.
  • Correction de bugs:
  • Passer de longues chaînes Unicode dans l'interface de l'analyseur alimentation () n'a pas pu lire l'intégralité de la chaîne.

Ce qui est nouveau dans la version 2.3.5:

  • Crash lors de la fusion de nœuds de texte element.remove ( ).
  • Crash in sax / target analyseur lors de la déclaration doctype vide.

Ce qui est nouveau dans la version 2.3.4:

  • Crash lors de la construction d'un nsmap (propriété Element) avec URI d'espace de noms vide.
  • Accident raison de l'état de la course lorsque des erreurs (ou des messages de l'utilisateur) surviennent pendant le traitement XSLT filetée.
  • feuille de style XSLT compilation pourrait ignorer les erreurs de compilation.

Ce qui est nouveau dans la version 2.3.2:

  • Caractéristiques ajouté:
  • lxml.objectify.deannotate () a une nouvelle option booléenne cleanup_namespaces pour supprimer les déclarations d'espace de noms objectiver (et généralement nettoyer les déclarations d'espace de noms) après avoir enlevé les annotations de type.
  • lxml.objectify gagné sa fonction propre sous-élément () comme une copie de etree.SubElement pour éviter une importation contraire redondante de lxml.etree sur le côté de l'utilisateur.
  • Correction de bugs:
  • Correction de la & quot; descendant & quot; bogue dans cssselect une deuxième fois (après un premier correctif dans lxml 2.3.1). Le changement précédent a entraîné une régression des performances grave pour l'évaluation de l'expression traduit basé XPath. Notez que cela brise l'utilisation de certaines des expressions XPath générés que XSLT chemins de localisation qui, auparavant, travaillé à la section 2.3.1.
  • analyse fixe de certains sélecteurs dans cssselect. Espace après combinators & quot; & Gt; & quot ;, & quot; + & quot; et & quot; ~ & quot; est maintenant correctement ignoré. Auparavant est a été analysé comme un combinateur descendant. Par exemple, & quot; div & gt; .foo & quot; a été analysé le même que & quot; div & gt; * .foo & quot; au lieu de & quot; div & gt; .foo & quot;.

Ce qui est nouveau dans la version 2.3.1:

  • Caractéristiques ajouté:
  • Nouvelle option kill_tags dans lxml.html.clean pour enlever des étiquettes spécifiques et leur contenu (ce est à dire toute leur sous-arbre).
  • pi.get () et pi.attrib sur instructions de traitement pour analyser les pseudo-attributs du contenu du texte d'instructions de traitement.
  • lxml.get_include () retourne une liste de chemins d'inclusion qui peuvent être utilisés pour compiler du code C externe contre lxml.etree. Ce est spécifiquement requise pour lxml lié statiquement construit lorsque le code a besoin de compiler contre les versions de fichier d'en-tête mêmes exactes que lxml lui-même.
  • Resolver.resolve_file () prend une option CLOSE_FILE supplémentaires qui configure si le fichier (-like) objet sera fermé après avoir lu ou non. Par défaut, le dossier sera fermé, que ne est pas prévu à l'utilisateur de conserver une référence à elle.
  • Correction de bugs:
  • nettoyage de HTML n'a pas supprimé 'data:'. Liens
  • L'intégration html5lib analyseur utilise maintenant la mise en œuvre «officielle» dans html5lib lui-même, ce qui en fait travailler avec les nouvelles versions de la bibliothèque.
  • Dans lxml.sax, endElementNS () pourraient à tort de rejeter un nom plaine tag lorsque l'événement de démarrage correspondant déduire la même plaine nom de la balise d'être dans l'espace de noms par défaut.
  • Quand un objet-fichier ouvert est passé dans parse () ou iterparse (), l'analyseur ne ferme plus après utilisation. Ce revient un changement dans lxml 2.3 où tous les fichiers seraient fermées. Ce est la responsabilité des utilisateurs de fermer correctement le fichier (-like) objet, également en cas d'erreur.
  • erreur d'assertion dans lxml.html.cleaner lors de l'élimination des éléments de haut niveau.
  • Dans lxml.cssselect, utilisez le XPath 'A // B' (abréviation de 'A / noeud descendant-or-self :: () / B') au lieu de 'A / descendant :: B »pour le css sélecteur descendant («A B»). Cela rend quelques cas de pointe pour être cohérent avec le comportement de sélection dans WebKit et Firefox, et fait plusieurs expressions css chemins de localisation valides (pour une utilisation dans xsl: template match).
  • Dans lxml.html, étiquettes non sélectionnés ne apparaissent plus dans les valeurs de formulaire collectées.
  • Ajout / suppression des valeurs de / vers un choix multiple champ de formulaire les sélectionne et les désélectionne correctement.
  • Autres changements:
  • statique construit pouvez spécifier le répertoire de téléchargement avec l'option --download-dir.

Ce qui est nouveau dans la version 2.3:

  • Caractéristiques ajouté:
  • Lorsque vous cherchez pour les enfants, lxml.objectify prend '{} tag »comme signifiant un espace de noms vide, par opposition à l'espace de noms parent.
  • Correction de bugs:
  • Lorsque vous avez terminé la lecture d'un objet-fichier, l'analyseur appelle immédiatement sa méthode de .close ().
  • Lorsque vous avez terminé l'analyse, iterparse () ferme immédiatement le fichier d'entrée.
  • Le travail autour pour le bogue de libxml2 qui peuvent quitter le parseur HTML dans un état non fonctionnel après l'analyse d'un document cassé sévèrement (corrigé dans libxml2 2.7.8).

  • Chapiteau balise
  • de marque en HTML code de nettoyage est correctement nommé.
  • Autres changements:
  • Certaines fonctions publiques dans le Cython niveau C-API ont des types de retour plus explicites.

Ce qui est nouveau dans la version 2.2.8 / 2.3 Beta 1:

  • Accident dans les nouvelles versions libxml2 lorsque éléments entre les documents qui avaient attributs sur les nœuds de XInclude remplacés en mouvement.
  • Fonction XMLID () manquait les paramètres de l'analyseur et base_url option.
  • Recherche de balises génériques dans iterparse () a été cassé dans PY3.
  • lxml.html.open_in_browser () ne fonctionnait pas en Python 3 en raison de l'utilisation de os.tempnam. Il faut désormais un paramètre optionnel 'encoding'.

Exigences :

  • Python

Logiciel similaire

PyYAML
PyYAML

12 May 15

epubmaker
epubmaker

14 Apr 15

hexedit
hexedit

18 Feb 15

ws_docutils
ws_docutils

14 Apr 15

D'autres logiciels de développeur Martijn Faassen

z3c.relationfield
z3c.relationfield

14 Apr 15

hurry.resource
hurry.resource

11 May 15

Commentaires à lxml

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!