2011-01-10 13 views
0

Ich bin der Iteration Xml Knoten Werte, die ich von Xpath-Abfrage erhalten. Und ich muss einen Verweis auf einen Knotenwert zuweisen.Referenz auf LXML-Knoten

Hier ist, was ich will zu:

from lxml import etree 

doc = etree.fromstring(some_xml) 
nodes = doc.xpath('some_query') 
for node in nodes: 
    if node.text == 'smth': 
     #there i need to assign reference 
     reference = node.text 

#after iterating i need to that change the node value 
reference = 'hello world' 

ist es eine Möglichkeit, es in Python zu tun?

danke!

Antwort

1

Speicher ein Verweis auf den aktuellen Knoten statt:

from lxml import etree 

doc = etree.fromstring(some_xml) 
nodes = doc.xpath('some_query') 
for node in nodes: 
    if node.text == 'smth': 
     reference = node 

reference.text = 'hello world' 
+0

die Attribute angehoben: „‚NoneType‘Objekt hat kein Attribut‚Text‘“ – nukl

+0

Dann hast du nicht einen Verweis auf den Knoten speichern, sondern auf "Keine". Oder vielleicht hatten Sie an erster Stelle 'None'. In jedem Fall, fügen Sie Ihren echten Code ein, damit wir herausfinden können, was los ist – nosklo

+0

Ja, mein Schlechter, danke für Ihre Hilfe! – nukl