i tried with some alternatives but it is checking for one attribute value and based on that value it is getting replaced.
For Eg.
#!/usr/bin/python
from elementtree.ElementTree import XML, SubElement, Element, tostring
text = """
<root>
<phoneNumbers>
<number topic="sys/phoneNumber/1" update="none" />
<number topic="sys/phoneNumber/2" update="none" />
<number topic="sys/phoneNumber/3" update="none" />
</phoneNumbers>
<gfenSMSnumbers>
<number topic="sys2/SMSnumber/1" update="none" />
<number topic="sys2/SMSnumber/2" update="none" />
</gfenSMSnumbers>
</root>
"""
print "********************"
print text
print "*******************"
elem = XML(text)
for node in elem.find('phoneNumbers'):
print node.attrib['topic']
# Create sub elements
if node.attrib['topic']=="sys/phoneNumber/1":
tag = SubElement(node,'TagName')
tag.attrib['attr'] = 'AttribValue'
print tostring(elem)
from the above one it is checking the condition
if node.attrib['topic']=="sys/phoneNumber/1":
after that it is adding something to it, but i want if any tag contains attribute "topic" it should replace the value with some text like "hello.txt"