Reputation:
I have XML document.
<idmclient>
<version build="" major="1" minor="1" sprint="15" />
</idmclient>
And python code
import xml.etree.ElementTree as ET
from xml.etree.ElementTree import parse, Element, SubElement, ElementTree
import sys
file = "C://inetpub//idmclient//version.xml";
tree = parse(file)
elem = tree.getroot()
version = SubElement(elem, "version")
print (version.attrib)
it's print {}. But i have 4 attributes. After I want to write in build any number and save, but now, when i write and save it looks like this
<idmclient>
<version build="" major="1" minor="1" sprint="15" />
<version build="666" /></idmclient>
Thanks.
Upvotes: 2
Views: 1824
Reputation: 89285
Use find()
instead to get an element by it's name. Then you can use set()
to update build
attribute value like so :
.....
version = elem.find('version')
version.set('build', '666')
print(version.attrib)
# output :
# {'major': '1', 'sprint': '15', 'minor': '1', 'build': '666'}
Upvotes: 2