Remove Element In A Xml File With Python
I'm a newbie with Python and I'd like to remove the element openingHours and the child elements from the XML. I have this input
Solution 1:
I took your code for a spin but at first Python couldn't agree with the way you composed your XML, wanting the /
in the closing tag to be at the beginning (like </...>
) instead of at the end (<.../>
).
That aside, the reason your code isn't working is because the xpath
expression is looking for the attributeopeningHour
while in reality you want to look for elements called openingHours
. I got it to work by changing the expression to //openingHours
. Making the entire code:
from lxml import etree
doc=etree.parse('stations.xml')
for elem in doc.xpath('//openingHours'):
parent = elem.getparent()
parent.remove(elem)
print(etree.tostring(doc))
Post a Comment for "Remove Element In A Xml File With Python"