user2872568
user2872568

Reputation:

ElementTree attrib is empty

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

Answers (1)

har07
har07

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

Related Questions