Blackbenji
Lieutenant
- Registriert
- Nov. 2009
- Beiträge
- 557
Hallo zusammen,
ich möchte eine XML Seite aus dem Web absurfen und mir aus verschiedenen Knoten Informationen holen.
Die XML kann ich leider - im Moment - nicht ändern, daher muss ich mit den Vorgegebenen Werten arbeiten.
Das XML sieht ungefähr so aus:
Mein Code dazu sieht so aus:
Der Output sieht dann in so aus:
wie komme ich nun aber an die content-version heran?
liefert leider einen Fehler ... hat jemand eine Idee?
ich möchte eine XML Seite aus dem Web absurfen und mir aus verschiedenen Knoten Informationen holen.
Die XML kann ich leider - im Moment - nicht ändern, daher muss ich mit den Vorgegebenen Werten arbeiten.
Das XML sieht ungefähr so aus:
Code:
<status hostname="web1234" app-version="V1.0">
<mandant id="live" name="App-Live" sessions="1" source="db">
<content-version package-overlay="v1.00.12">...</mbv-version>
</mandant>
<mandant id="live2" name="App-Live-2" sessions="1" source="db">
<content-version package-overlay="v1.00.13-b">...</mbv-version>
</mandant>
</status>
Mein Code dazu sieht so aus:
Code:
import urllib2, xmltodict
urllib2.urlopen(URL, timeout=15)
input = urllib2.urlopen(URL, timeout=15)
html = input.read()
input.close()
result = xmltodict.parse(html)
# debug
# print result
print "Host: " + result['status']['@hostname']
print "Software Version " + result['status']['@app-version']
for id in result['status']['mandant']:
print id
Der Output sieht dann in so aus:
Code:
OrderedDict([(u'@id', u'live'), (u'@name', u'App-Live'), (u'@session', u'1'), (u'@source', u'db'), (u'content-version', OrderedDict([(u'@package-overlay', u'v1.00.12"')])])
OrderedDict([(u'@id', u'live2'), (u'@name', u'App-Live-2'), (u'@session', u'1'), (u'@source', u'db'), (u'content-version', OrderedDict([(u'@package-overlay', u'v1.00.13-b"')])])
wie komme ich nun aber an die content-version heran?
Code:
for content-version in id