即时解析这个非常简单的xml文件:
<root>
<shelter>
<adress>21 אחד העם</adress>
<code>א-1</code>
<lon></lon>
<lat></lat>
</shelter>
<shelter>
<adress>13 שלח</adress>
<code>10 - א</code>
<lon></lon>
<lat></lat>
</shelter>
<shelter>
<adress>ביאליק</adress>
<code>11 - א</code>
<lon></lon>
<lat></lat>
</shelter>
<shelter>
<adress>9 מוריה</adress>
<lon></lon>
<lat></lat>
</shelter>
<shelter>
<adress>58 בזל</adress>
<lon></lon>
<lat></lat>
</shelter>
</root>
我正在使用这段简单的代码:
import xml.etree.ElementTree as et
pars = et.XMLParser(encoding='Windows-1255')
tree = et.parse('NewFile.xml',parser=pars)
root = tree.getroot()
for shelter in root.findall('shelter'):
adress = shelter.find('adress').text
print adress
我收到此错误:“UnicodeEncodeError:'charmap'编解码器无法编码位置3-5的字符:字符映射到未定义”
你可能会说这些文字是希伯来语,而我猜测我的错误来自哪里 - 或者缺乏理解'编码'意味着什么。 我已经查找了关于解析和编码问题的不同讨论,但没有人讨论过外语问题。
问候。
答案 0 :(得分:0)
尝试运行代码时,我没有收到任何错误
问题可能在于您的文件编码。确保它是 utf-8 。并使用encoding="utf-8"
。