Elementoflow.

Streaming XML Generator for Python
Baixe Agora

Elementoflow. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • BSD License
  • Preço:
  • FREE
  • Nome do editor:
  • Ivan Sagalaev
  • Site do editor:
  • http://softwaremaniacs.org

Elementoflow. Tag


Elementoflow. Descrição

Streaming XML Generator para Python O elementoflow é uma biblioteca Python para gerar XML como um fluxo sem primeiro construir uma árvore na memória. Algumas bibliotecas de produção XML existentes (como elementtree, lxml) constroem uma árvore XML inteira na memória e, em seguida, serializá-lo. Pode ser ineficiente para letreiros XML moderadamente grandes (pense em um serviço da Web orientado para conteúdo, produzindo lotes de saída de dados XML). O XML.Sax.Saxutils.xmlgenerator de Python é muito baixo e requer elementos de fechamento por mão.Also, a maioria das bibliotecas XML, para ser honesto, sugada ao lidar com namespaces.Usage: Basic XML Generation: Importar elementflowfile = 'text.xml', 'w') # pode ser qualquer objeto com .write () métodowith elementflow.xml (arquivo, u'root ') como xml: xml.element (u'Item', attrs = {u'key ': U'Value'}, text = u'text ') com xml.container (u'container', attrs = {u'key ': u'value'}): xml.text (u'text ') xml Element (U'Subeelement ', Text = U'Subeelement Text') usando com é necessário para fechar corretamente elementos de contêineres. A biblioteca espera strings unicode na entrada e produz saída codificada UTF-8 (você pode omitir aqueles "u" para strings puramente ASCII, se você quiser, o Python converterá o botão, automaticamente) .xml: com elementoflow.xml (arquivo , 'root', namespaces = {'': 'urna: n', 'n1': 'URN: n1'}) como xml: xml.element ('item') com xml.container ('contêiner', namespaces = {'N2': 'URN: N2'): XML.Element ('N1: Subelement') XML.Element ('N2: Subelement') Elementos com namespaces são definidos usando prefixos. Você pode definir namespaces no nível da raiz e para qualquer contêiner. A biblioteca verificará prefixos de namespace que não foi definido de antemão e aumentará a ValueError nessa caixa. Printty-Imprimir também é suportado: com elementoflow.xml (arquivo, 'root', indent = true): # em alguns casos É mais conveniente ter um produtor XML como um iterador Python. Isso é feito facilmente por envolver o código de geração XML em uma função do gerador: Def g (): xml = elementflow.xml (elementoflow.queue (), 'raiz') com XML: para item na coleção: Xml.Element (... ) rendimento xml.file.pop () rendimento xml.file.pop () elementflow.queue () é um buffer temporário que aceita dados de um gerador XML e é apagado ao chamar .pop () nele. Você também pode querer produzir dados do iterador somente quando este buffer atingir um determinado tamanho: se Len (xml.file)> BUFSIZE: REDE XML.FILE.POP () Requisitos: · Pitão


Elementoflow. Software Relacionado