Python - načtení a zpracování XML ze zadaného URL

Z GeoWikiCZ

Program otevře socket pro XML soubor uložený na zadaném URL, v tomto příkladu jde o XML popis elipsoidu z projektu GNU Gama, vytvoří 'minidom' XML parser, projde vytvořenou datovou strukturu (DOM) a vytiskne vybrané údaje, tj. 'id' elipsoidu a jeho základní parametry.

#!/usr/bin/python

import urllib
from xml.dom import minidom, Node 

usock  = urllib.urlopen("http://www.gnu.org/software/gama/xml/ellipsoids.xml")
xmldoc = minidom.parse(usock)
usock.close()

# print xmldoc.toxml()

for i in xmldoc.childNodes:
    if i.nodeType == Node.ELEMENT_NODE:
        print "*********  ", i.nodeName
    #else:
    #   print "??? ", i.toxml()
    
        for e in i.childNodes:
            if e.nodeName == "ellipsoid":
                print
                print e.attributes["caption"].value  

                for a, v in e.attributes.items():
                    if a not in ['caption', 'ref', 'id']:
                        if a == 'f1': 
                           a =  '1/f'                        
                        else:
                           a += ' '
                        print "%3s = %s" % (a, v)