1: #!/usr/bin/python
2:
3: from xml.dom.minidom import parse
4: import sys
5:
6: xmlfilename = sys.argv[1]
7: dom = parse(xmlfilename)
8:
9:
10: print "-- le nom de l'auteur --"
11:
12: creators = dom.getElementsByTagName("dc:creator")
13: creator = creators[0]
14:
15: print creator.nodeName,'=',creator.nodeValue
16:
17: filscreator = creator.childNodes
18: i = 0
19: while filscreator[i].nodeType != 1:
20: i=i+1
21: # boucle WHILE car le premier fils n'est pas toujours celui que l'on croit
22:
23: agent = filscreator[i]
24:
25: print agent.nodeName,'=',agent.nodeValue
26:
27: filsagent = agent.childNodes
28: title = filsagent[1]
29:
30: print title.nodeName,'=',title.nodeValue
31:
32: nomcreateur = title.childNodes[0].nodeValue
33:
34: print "L'auteur est",nomcreateur,"!"
35:
36:
37:
38: print "-- le titre du dessin --"
39:
40: titles = dom.getElementsByTagName("dc:title")
41:
42: print titles[0].childNodes[0].nodeValue
43:
44: # (on suppose qu'il s'agit du premier dc.title du document...)
45:
46:
47:
48: print "-- les mots clefs --"
49:
50: bag = dom.getElementsByTagName("rdf:Bag")[0]
51:
52: bagfils = bag.childNodes
53:
54: for f in bagfils:
55: if f.nodeName=='rdf:li':
56: if f.childNodes.length>0:
57: # car les feuilles textes vides ne sont pas dans le DOM !
58: print f.childNodes[0].nodeValue
59:
60:
61:
62: print "-- les rectangles --"
63:
64: rectangles = dom.getElementsByTagName("rect")
65:
66: print "il y en a",rectangles.length,':'
67:
68: for r in rectangles:
69: attrs = r.attributes
70: height = attrs['height'].nodeValue
71: width = attrs['width'].nodeValue
72: print ' . ',height,' x ',width
73:
74:
- page du TP XML
- site de Fabien Torre
Le contenu de cette page est mis à disposition selon les termes de la Licence Creative Commons « Paternité - Pas d'Utilisation Commerciale - Partage à l'Identique ».



