site de Fabien Torre


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:
Fabien Torre Valid HTML5! Valid CSS!
site de Fabien Torre, université de Lille