Case Insensitive findall in Python ElementTree

前端 未结 2 577
无人共我
无人共我 2021-01-12 16:53

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 total

2条回答
  •  感情败类
    2021-01-12 17:50

    Regex to the rescue. Note this is probably horrific in terms of performance but is great at extracted XML attributes from elements.

    def getInsensitiveAttrbiute(element, key) :
    
       keyRegex = re.compile(key, re.IGNORECASE)
       for key in element.attrib.keys() :
           if keyRegex.match(key) :
               return element.attrib[key]
       raise KeyError
    
    
    element = ET.fromstring('')
    print getInsensitiveAttrbiute(element, "sRc")
    

提交回复
热议问题