Flujo de elementos

Streaming XML Generator para Python
Descargar ahora

Flujo de elementos Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • BSD License
  • Precio:
  • FREE
  • Nombre del editor:
  • Ivan Sagalaev
  • Sitio web del editor:
  • http://softwaremaniacs.org

Flujo de elementos Etiquetas


Flujo de elementos Descripción

Streaming XML Generator para Python El elementalflow es una biblioteca de Python para generar XML como un transmisión sin construir primero un árbol en la memoria. Algunas bibliotecas productoras XML existentes (como elementtree, lxml) construyen un árbol XML completo en la memoria y luego en serializándolo. Puede ser ineficiente para las cargas útiles XML moderadamente grandes (piense en un servicio web orientado al contenido que produce lotes de salida de datos XML). El xml.sax.saxutils.xmglenerator incorporado de Python es muy bajo y requiere elementos de cierre a mano. También, la mayoría de las bibliotecas XML, para ser honestas, de ser honesto cuando se trata de espacios de nombres. Ejemplos: Generación XML básica: Importar elementalflowfile = abre ( 'Text.xml', 'w') # puede ser cualquier objeto con .WRITE () Methodwith elementflow.xml (archivo, u'root ') como xml: xml.element (u'item', attrs = {u'key ': U'value'}, Text = U'Text ') con xml.container (u'container', attrs = {u'key ': u'value'}): xml.text (U'Text ') XML .Lement (U'SUBELEMENTE ', Text = U'Subelement Text') usando con se requiere con conjuntamente cerrar los elementos del contenedor. La biblioteca espera las cadenas de Unicode en la entrada y produce la salida codificada UTF-8 (puede omitir esas "U" para las cuerdas puramente ASCII si lo desea, Python convertirá el, automáticamente) .xml con espacios de nombres: con elementflow.xml (archivo , 'raíz', espacios de nombres = {'': 'URN: N', 'N1': 'URN: N1'}) AS XML: XML.ELEMENT ('Artículo') con XML.Container ('contenedor', espacios de nombres = {'N2': 'URN: N2'): xml.element ('n1: subelemento') xml.element ('n2: subelemento') Los elementos con espacios de nombres se definen utilizando prefijos. Puede definir los espacios de nombres en el nivel de la raíz y para cualquier contenedor. La biblioteca verificará los prefijos de espacio de nombres que no se definió de antemano y aumentará ValueError en ese caso. Tampoco se admite la impresión: con elementflow.xml (archivo, 'root', sande = true): # ... en algunos Casos Es más conveniente tener un productor XML como iterador de Python. Esto se hace fácilmente envolviendo el código de generación XML en una función del generador: DEF G (): XML = elementalflow.xml (elementflow.queue (), 'raíz') con XML: para el artículo en la colección: XML.ELEMENT (... ) Rendimiento XML.FILE.POP () Rendimiento XML.FILE.POP () elementflow.queue () es un tampón temporal que acepta datos de un generador XML y se borra al llamar a .POP () en él. También es posible que desee producir datos del iterador solo cuando este búfer alcance un tamaño determinado: si LEN (XML.FILE)> BUFSIZE: Rendimiento XML.FILE.POP () Requisitos: · Python


Flujo de elementos Software relacionado