2016-04-26 3 views
0

У меня есть этот код в Python 2.7не может разобрать из «» QString

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

, когда я выполнить это, я получаю эту ошибку Дерево1 = 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) ТипError: не удается разобрать с 'QString'

это происходит только с python 2.7 тот же код работает с python 3.4

ответ

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)) 
+0

Вы можете использовать fromstring –