I have to parse XML that has tag names that may be in any case (mixed, upper, lower, etc) and I don't know what the case will be beforehand. How can I make findall be totally case insensitive in ElementTree?
# Does not work
variables = message.findall("VaRiAbLE")
You simply get the string from the tree, lowercase it, and remake the tree. Then it should be parseable
import xml.etree.ElementTree as ET
def to_parseable(tree):
t = ET.tostring(tree)
t = t.lower()
return ET.fromstring(t)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With