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