Text aus XML in Python erhalten
from xml.dom.minidom import parseString dom = parseString(data) data = dom.getElementsByTagName('data')
Die Variable "data" kehrt als Elementobjekt zurück, aber ich kann nicht für das Leben von mir in der Dokumentation sehen, um den Textwert des Elements zu greifen.
Beispielsweise:
<something><data>I WANT THIS</data></something>
Wer hat irgendwelche Ideen?
2 Solutions collect form web for “Text aus XML in Python erhalten”
Das sollte der Trick machen:
dom = parseString('<something><data>I WANT THIS</data></something>') data = dom.getElementsByTagName('data')[0].childNodes[0].data
Dh du musst tiefer in die DOM-Struktur wechseln, um am Textkindknoten zu kommen und dann auf seinen Wert zuzugreifen.
Also der Weg, um es zu betrachten ist, dass "I WANT THIS" ist eigentlich ein weiterer Knoten. Es ist ein Textkind von "Daten".
from xml.dom.minidom import parseString dom = parseString(data) nodes = dom.getElementsByTagName('data')
An diesem Punkt ist "nodes" ein NodeList und in deinem Beispiel hat es ein Element, welches das "data" Element ist. Entsprechend hat das "data" -Element auch nur ein Kind, das ein Textknoten "I WANT THIS" ist.
So könntest du einfach so etwas machen:
print nodes[0].firstChild.nodeValue
Beachten Sie, dass in dem Fall, in dem Sie mehr als ein Tag namens "Daten" in Ihrer Eingabe haben, sollten Sie eine Art von Iteration Technik auf "Knoten" verwenden, anstatt es direkt zu indizieren.