用Python读取XML文件

用Python读取XML文件,python,xml,utf-8,Python,Xml,Utf 8,我正在尝试编写一个插件来从XML文件中读取数据 test.xml内部有: <data> <items> <item test1="Arabic Words"></item> <item test2="English Words"></item> </items> </data> 但我在编码方面遇到了一个问题:我无法将其设置为utf-8 如何使minid

我正在尝试编写一个插件来从XML文件中读取数据

test.xml内部有:

<data>
    <items>
        <item test1="Arabic Words"></item>
        <item test2="English Words"></item>
    </items>
</data>
但我在编码方面遇到了一个问题:我无法将其设置为utf-8


如何使minidom使用UTF-8编码解释文件?

使用编码/解码功能或导入编解码器

例如: x='abcd' y=x。编码“utf-8” y、 解码“utf-8”


只需使用编码/解码,并使用minidom解析字符串,而不是传递文件名。

通常,有效的XML以XML伪标记开头,其中包含编码:

<?xml version="1.0" encoding="UTF-8"?>
...

要解决这个问题,我建议您修复XML文件。

您是否尝试过使用XML.sax进行解析?@mr.someone我猜答案是否定的……此外,您没有将其设置为UTF-8会遇到什么问题。您是否可以发布错误消息或至少显示预期结果?您是否修复了文件或添加了字符串离合器?顺便说一句,批评并不多,更多的意思是作为一种激励:当公开写东西或在电子邮件中向某人致词时,尽量避免使用u;跟你呆在一起,你听起来不像青少年发送短信。是的,我加上这个:然后xmldoc=minidom.parseString\n+opentest.xml,r.read你要么将字符串添加到文件中,要么使用我的parseString。请试着理解你在做什么。我只是用你正在使用的同一个文件试了一下;它既可以使用编码/解码,也可以使用编码/解码,还可以使用BOM,还可以使用BOM。。。问题一定出在其他地方,minidom可以顺利地解析文件。
<?xml version="1.0" encoding="UTF-8"?>
...
minidom.parseString("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + open("file.xml","r").read())