Ich bin fest mit XML und der ElementTree-Klasse arbeiten. Ich habe die folgende XML-Struktur:Wie kann ich einen XML-Tag-Wert basierend auf dem Wert eines anderen XML-Tags erhalten?
<workItem>
<stringExtensions>
<key>key1</key>
<value>value1</value>
</stringExtensions>
<stringExtensions>
<key>key2</key>
<value>value2</value>
</stringExtensions>
<stringExtensions>
<key>key3</key>
<value>value3</value>
</stringExtensions>
</workItem>
Was würde ich zu tun in der Lage sein, die Werte „Wert1“ auszudrucken und „value3“ (nicht „Wert2“). Dazu brauche ich eine Möglichkeit, die Key-Tag-Werte "key1" und "key3" zu filtern. Mein aktueller Code:
root = ElementTree.fromstring(r.content)
for entry in root.findall("workItem"):
print(entry.find("stringExtensions").find("value").text)
nur drucken „Wert1“, da es das erste Ergebnis in der XML-Struktur zurückgibt. Ich muss vor dem Drucken eine Art "Wo" -Zustand hinzufügen, damit ich auf der Grundlage des "Schlüssel" -Tags einen bestimmten "Wert" -Tag angeben kann.
Jede Hilfe würde sehr geschätzt werden!
Grüße,
Andrew
erklären warum und nach welcher Regel 'key2' sollte übersprungen werden? – RomanPerekhrest
können Sie immer Standard "wenn" etwas in Python überprüfen. – furas
@RomanPerekhrest key2 sollte übersprungen werden, da der Wert key2 und nicht key1 oder key3 ist. Ich weiß, dass das mehrdeutig klingt, aber ich bin nur an den "value" -Tag-Werten von key1 und key2 interessiert. – Andrew