Python 2.7 lxml ns_clean=True似乎不起作用

Python 2.7 lxml ns_clean=True似乎不起作用,python-2.7,xml-parsing,lxml,Python 2.7,Xml Parsing,Lxml,以下代码: NAMESPACES = {'ns': 'http://www.starstandard.org/STAR/5', 'ns1': 'http://www.openapplications.org/oagis/9'} ro_xml = '{}.xml'.format(6001265) parser = etree.XMLParser(ns_clean=True) tree = etree.parse(ro_xml) root = etree.tostring(tree.getroot(

以下代码:

NAMESPACES = {'ns': 'http://www.starstandard.org/STAR/5', 'ns1': 'http://www.openapplications.org/oagis/9'}
ro_xml = '{}.xml'.format(6001265)
parser = etree.XMLParser(ns_clean=True)
tree = etree.parse(ro_xml)
root = etree.tostring(tree.getroot())
# print root
residence = []
residence_address = '//ns:ResidenceAddress/*'
shop_supplies_amount = tree.xpath(residence_address, namespaces=NAMESPACES)
for child in shop_supplies_amount:
    residence.append("%s: %s" % (child.tag, child.text))
print residence
当我运行这个程序时,我会在标记名前面找到名称空间,如so
{http://www.starstandard.org/STAR/5}一线:10757滨河公园路“


我做错了什么,如何去掉标记名前面的名称空间

我找到了一种解决方法

NAMESPACES = {'ns': 'http://www.starstandard.org/STAR/5', 'ns1': 'http://www.openapplications.org/oagis/9'}
ro_xml = '{}.xml'.format(6001265)
parser = etree.XMLParser(ns_clean=True)
tree = etree.parse(ro_xml, parser)

vehicle = {}
vehicle_info = tree.xpath(twc.XML_VEHICLE_INFO, namespaces=NAMESPACES)
for child in vehicle_info:
    vehicle.update({child.tag: child.text})
model = residence['{%s}Model' % NAMESPACES['ns']]
print model
我承认这不是最干净的,但它让我到达了我需要的地方