Ich bin neu in Xml Parsing. This xml file hat den folgenden Baum:Python: Zugriff verschachtelte Kinder in XML-Datei mit ElementTree geparsten
FHRSEstablishment
|--> Header
| |--> ...
|--> EstablishmentCollection
| |--> EstablishmentDetail
| | |-->...
| |--> Scores
| | |-->...
|--> EstablishmentCollection
| |--> EstablishmentDetail
| | |-->...
| |--> Scores
| | |-->...
aber wenn ich es mit ElementTree zugreifen und suchen die child
Tags und Attribute,
import xml.etree.ElementTree as ET
import urllib2
tree = ET.parse(
file=urllib2.urlopen('http://ratings.food.gov.uk/OpenDataFiles/FHRS408en-GB.xml' % i))
root = tree.getroot()
for child in root:
print child.tag, child.attrib
ich nur bekommen:
Header {}
EstablishmentCollection {}
, die ich übernehmen bedeutet, dass ihre Attribute leer sind. Warum ist das so, und wie kann ich auf die darin eingebetteten Kinder zugreifen? EstablishmentDetail
und Scores
?
EDIT
Dank der Antworten unten ich im Inneren des Baumes zu bekommen, aber wenn ich will, Werte erhalten, wie sie in Scores
, dies nicht gelingt:
for node in root.find('.//EstablishmentDetail/Scores'):
rating = node.attrib.get('Hygiene')
print rating
und produziert
None
None
None
Warum ist das?
Wow, das war gut, aber ich kämpfe immer noch die letzten Werte, wie die Noten zu bekommen. Wenn ich 'für Kind in root.find ('.// Scores') mache: rating = child.get ('Hygiene'); Druck Bewertung; 'Ich bekomme' None' als Ergebnis. – FaCoffee
Ich habe meine Antwort bearbeitet! –