Die obige Antwort ist richtig, nämlich:
name[0].firstChild.nodeValue
Für mich, wie für andere, war mein Wert jedoch weiter unten im Baum:
name[0].firstChild.firstChild.nodeValue
Um dies zu finden, habe ich Folgendes verwendet:
def scandown( elements, indent ):
for el in elements:
print(" " * indent + "nodeName: " + str(el.nodeName) )
print(" " * indent + "nodeValue: " + str(el.nodeValue) )
print(" " * indent + "childNodes: " + str(el.childNodes) )
scandown(el.childNodes, indent + 1)
scandown( doc.getElementsByTagName('text'), 0 )
Das Ausführen für meine einfache SVG-Datei, die mit Inkscape erstellt wurde, gab mir Folgendes:
nodeName: text
nodeValue: None
childNodes: [<DOM Element: tspan at 0x10392c6d0>]
nodeName: tspan
nodeValue: None
childNodes: [<DOM Text node "'MY STRING'">]
nodeName: #text
nodeValue: MY STRING
childNodes: ()
nodeName: text
nodeValue: None
childNodes: [<DOM Element: tspan at 0x10392c800>]
nodeName: tspan
nodeValue: None
childNodes: [<DOM Text node "'MY WORDS'">]
nodeName: #text
nodeValue: MY WORDS
childNodes: ()
Ich habe xml.dom.minidom verwendet. Die verschiedenen Felder werden auf dieser Seite, MiniDom Python, erläutert.