associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

Diferenças para "LendoXmlComLibxml2"

Diferenças entre as versões de 3 e 6 (3 versões de distância)
Revisão 3e 2004-10-28 13:15:28
Tamanho: 1274
Editor: 4-150
Comentário:
Revisão 6e 2004-11-29 16:58:21
Tamanho: 1458
Comentário:
Deleções são marcadas assim. Adições são marcadas assim.
Linha 73: Linha 73:
Voçê pode ver o codigo C em [http://www.xmlsoft.org/tutorial/apc.html Libxml Tutorial por John Fleck]

Linha 78: Linha 81:
Wiliam Alves de Souza -- (waa) -- wiliam(arroba)linuxmail(ponto)org WiliamAlvesDeSouza -- (waa) -- wiliam(arroba)linuxmail(ponto)org

Receita: LendoXmlComLibxml2

  • Todo o manejo de XML no GNOME é feito a través da libxml, com ele podemos ler e modificar arquivos XML.

Vejamos um exemplo.

O arquivo XML

<?xml version="1.0"?>
<story>
        <storyinfo>
                <author>John Fleck</author>
                <datewritten>June 2, 2002</datewritten>
                <keyword>example keyword</keyword>
        </storyinfo>
        <body>
                <headline>This is the headline</headline>
                <para>This is the body text.</para>
        </body>
</story>

Código

   1 import sys
   2 
   3 import libxml2
   4 
   5 def parseStory (cur):
   6 
   7         cur = cur.children
   8 
   9         while cur != None:
  10                 if cur.name == "keyword":
  11                         print "Keyword: %s" % cur.getContent()
  12                 cur = cur.next
  13         sys.exit(0)
  14 
  15 doc = libxml2.parseFile("sample_Document.xml")
  16 
  17 if doc == None:
  18         print "Document not parsed successfully."
  19         doc.freeDoc()
  20         sys.exit
  21 
  22 cur = doc.getRootElement()
  23 
  24 if cur == None:
  25         print "Empty Document."
  26         doc.freeDoc()
  27         sys.exit(1)
  28 
  29 if cur.name != "story":
  30         print "Document of the wrong type, root node != story"
  31         doc.freeDoc()
  32         sys.exit(1)
  33 
  34 cur = cur.children
  35 
  36 while cur != None:
  37         if cur.name == "storyinfo":
  38                 parseStory(cur)
  39         cur = cur.next
  40 doc.freeDoc()

Voçê pode ver o codigo C em [http://www.xmlsoft.org/tutorial/apc.html Libxml Tutorial por John Fleck]

Volta para CookBook.


WiliamAlvesDeSouza -- (waa) -- wiliam(arroba)linuxmail(ponto)org