Tamanho: 1380
Comentário:
|
Tamanho: 1458
Comentário:
|
Deleções são marcadas assim. | Adições são marcadas assim. |
Linha 81: | 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