无法解析QString'

时间:2016-04-26 08:44:25

标签: python-2.7 python-3.x lxml

我在python 2.7中有这段代码

from lxml import etree
def file_dialog(self):
    global root1
    fd = QtGui.QFileDialog(self)
    self.f1 = fd.getOpenFileName()
    tree1 = etree.parse(self.f1)

当我执行此操作时,我收到此错误     tree1 = etree.parse(self.f1)   文件" lxml.etree.pyx",第3310行,在lxml.etree.parse中(src \ lxml \ lxml.etree.c:72517)   文件" parser.pxi",第1814行,在lxml.etree._parseDocument中(src \ lxml \ lxml.etree.c:106226) TypeError:无法从' QString'

解析

这只发生在python 2.7上,相同的代码适用于python 3.4

1 个答案:

答案 0 :(得分:0)

我找到了这样的解决方案:

from lxml import etree
from StringIO import StringIO

self.f1 = fd.getOpenFileName()
    f=open(self.f1)
    xml=f.read()
    f.close()

    tree1 = etree.parse(StringIO(xml))