我经常抓取一个命名空间来为它做一个别名,如下所示:
someXML = lxml.etree.XML(someString)if ns is None: ns = {"m": someXML.tag.split("}")[0][1:]}someid = someXML.xpath('.//m:importantThing//m:ID', namespaces=ns)您可以执行类似的操作来获取名称空间,以制作一个正则表达式,以便在使用后将其清除
tostring。
或者您可以清理输入字符串。查找第一个空格,检查是否紧跟着xmlns,如果是,则删除整个xmlns,直到下一个空格,否则删除该空格。重复直到没有更多的空格或xmlns声明。但是不要超过第一个
>。



