Python - načtení a zpracování XML ze zadaného URL: Porovnání verzí
Bez shrnutí editace |
m (zvyrazneni syntaxe+sablona) |
||
(Nejsou zobrazeny 4 mezilehlé verze od 2 dalších uživatelů.) | |||
Řádek 1: | Řádek 1: | ||
Program otevře socket pro XML soubor uložený na zadaném URL, v tomto příkladu jde o XML popis elipsoidů z projektu GNU Gama, vytvoří XML parser (minidom), projde vytvořenou datovou strukturu (DOM) a vytiskne vybrané údaje, tj. 'id' elipsoidu a jeho základní parametry. | |||
<source lang="python"> | |||
#!/usr/bin/python | #!/usr/bin/python | ||
Řádek 28: | Řádek 31: | ||
a += ' ' | a += ' ' | ||
print "%3s = %s" % (a, v) | print "%3s = %s" % (a, v) | ||
</source> | |||
[ [[Python|Zpět]] ] | |||
{{Python}} |
Aktuální verze z 20. 4. 2008, 19:37
Program otevře socket pro XML soubor uložený na zadaném URL, v tomto příkladu jde o XML popis elipsoidů z projektu GNU Gama, vytvoří XML parser (minidom), 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)
[ Zpět ]