Problem mit etree und auslesen von XML Datei
Verfasst: Samstag 24. September 2011, 07:21
Ich bin recht neu dabei mit python und will eine XML Datei auslesen. Es geht dabei um das Auslesen/ansprechen bestimmter tags...
Meine Datei hat folgende Struktur:
um die Elemente aus der Datei auszulesen, habe ich mir einen eher schlechten Loop entwickelt, der sicherlich hinter den Möglichkeiten der etree library zurückfällt....
Wie kann ich beispielsweise den Text innerhalb des value tags auslesen? Welche möglichkeiten für einen Loop gibt es da?
Habe mich schon in diversen Tutorials umgeschaut, aber so richtig verstanden nicht...
Viele Grüße
Jurudoca
Meine Datei hat folgende Struktur:
Code: Alles auswählen
<sss version="1.2">
<date>2011-09-23</date>
<time>12:32:29</time>
<origin>OPST</origin>
<user></user>
<survey>
<name>Test</name>
<version>2011-09-02 15:50:10</version>
<record ident="A">
<variable ident="10" type="quantity">
<name>v_682</name>
<label>Another question</label>
<position start="23" finish="24"/>
<values>
<range from="0" to="32"/>
</values>
</variable>
<variable ident="11" type="quantity">
<name>v_683</name>
<label>another totally another Question</label>
<position start="25" finish="26"/>
<values>
<range from="0" to="33"/>
</values>
</variable>
<variable ident="12" type="quantity">
<name>v_684</name>
<label>And once more Question</label>
<position start="27" finish="29"/>
<values>
<range from="0" to="122"/>
</values>
</variable>
<variable ident="20" type="single">
<name>v_685</name>
<label>Question with alternatives</label>
<position start="73" finish="73"/>
<values>
<range from="1" to="6"/>
<value code="1">Alternative 1</value>
<value code="2">Alternative 2</value>
<value code="3">Alternative 3</value>
<value code="6">Alternative 4</value>
</values>
</variable>
</record>
</survey>
</sss>
Code: Alles auswählen
from xml.etree.cElementTree import parse
et = parse(open('scheme.xml','rb'))
root = et.getroot()
for i in range(4):
a= str(root[4][2][i][0].text)
if a.startswith('v'):
print root[4][2][i][1].text
Habe mich schon in diversen Tutorials umgeschaut, aber so richtig verstanden nicht...
Viele Grüße
Jurudoca