【发布时间】:2017-01-18 19:49:28
【问题描述】:
在从网站解析 xml 的过程中,我设法迷失在一堆 utf-8 编码问题中。具体来说,我的字符串看起来像:
u'PA_g\xc3\xa9p7'
当我打印这个时,我得到:
>> PA_gép7
我想要的反而来自以下
print('PA_g\xc3\xa9p7')
>> PA_gép7
这是我的代码:
def get_api_xml_response(base_url, query_str):
"""gets xml from api @ base_url using query_str"""
res = requests.get(u'{}{}'.format(base_url, query_str))
xmlstring = clean_up_xml(res.content).encode(u'utf-8')
return ET.XML(xmlstring)
我的函数 clean_up_xml 用于删除导致我出现问题的命名空间和其他字符。
def clean_up_xml(xml_string):
"""remove the namespace and invalid chars from an xml-string"""
return re.sub(' xmlns="[^"]+"', '', xml_string, count=1).replace('&', '&')
【问题讨论】:
标签: python xml string unicode encoding