解析XML数据

时间:2014-08-09 13:05:50

标签: python xml parsing python-2.7 xml-parsing

即时解析这个非常简单的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的字符:字符映射到未定义”

你可能会说这些文字是希伯来语,而我猜测我的错误来自哪里 - 或者缺乏理解'编码'意味着什么。 我已经查找了关于解析和编码问题的不同讨论,但没有人讨论过外语问题。

问候。

1 个答案:

答案 0 :(得分:0)

尝试运行代码时,我没有收到任何错误 问题可能在于您的文件编码。确保它是 utf-8 。并使用encoding="utf-8"