from lxml import objectify, etree
root = etree.fromstring('''<?xml version="1.0" encoding="ISO-8859-1" ?>
....
''')
How can I modify/set both values?
Host-IP-Address value="0x00010a248921"
"Vendor-Id" value="11"
I've unsuccessfully tried accessing
root.xpath("//scenario/init/send_channel/command[@name='CER']/avp[@name='Host-IP-Address']/value/text()")
Goal: I'd preferably like to see a lxml.objectify vs an Xpath solution but I'll accept other lxml based solutions.
The files are <100kB so speed/RAM is not much of a concern.
解决方案import lxml.etree as et
tree = et.fromstring('''
... your xml ...
''')
for host_ip in tree.xpath("/scenario/init/send/command[@name='CER']/avp[@name='Host-IP-Address']"):
host_ip.attrib['value'] = 'foo'
print et.tostring(tree)