<div dir="ltr">I try to parse xml from a string source, I make code to open xml from drive and read it then parse it and show in QlineEdit<br><br>This code I use:<br><br>From PyQt4 import QtCore, QtGui<br>from ui_testparse import Ui_testparse<br>
import xml.etree.ElementTree as ETree<br># create the dialog for zoom to point<br><br><br>class testparseDialog(QtGui.QDialog):<br> def __init__(self):<br> QtGui.QDialog.__init__(self)<br> # Set up the user interface from Designer.<br>
self.ui = Ui_testparse()<br> self.ui.setupUi(self)<br><br> opendata = self.ui.btnCari<br> QtCore.QObject.connect(opendata, QtCore.SIGNAL('clicked()'),self.openxml)<br><br> def openxml(self, event=None):<br>
<br> #open dialog<br> openfile = QtGui.QFileDialog.getOpenFileName(self, 'Open File', '*.xml')<br><br> self.ui.lineLokasi.setText(openfile)<br><br> #call XML data<br> self.isiData(openfile)<br>
<br> def isiData(self, nmsatu):<br> #open teks with read mode<br> openteks = open(nmsatu, 'r').read()<br><br> self.ui.textXml.setText(openteks)<br><br> #Parse XML from Above<br> self.parsenow(openteks)<br>
<br> def parsenow(self, parse):<br> element = ETree.fromstring(parse)<br> xml_obj = ETree.ElementTree(element)<br> for title_obj in xml_obj.findall('./{gmd#}dateStamp/{gco#}Date'):<br> print xml_obj<br>
self.ui.lineSkala.setText(xml_obj)<br><br>But I get error message like this<br><br>Traceback (most recent call last):<br> File "C:\Users\Mr.Pakde/.qgis2/python/plugins\testparse\testparsedialog.py", line 47, in openxml<br>
self.isiData(openfile)<br> File "C:\Users\Mr.Pakde/.qgis2/python/plugins\testparse\testparsedialog.py", line 56, in isiData<br> self.parsenow(openteks)<br> File "C:\Users\Mr.Pakde/.qgis2/python/plugins\testparse\testparsedialog.py", line 63, in parsenow<br>
self.ui.lineSkala.setText(xml_obj)<br>TypeError: QLineEdit.setText(QString): argument 1 has unexpected type 'ElementTree'<br><br>Python version:<br>2.7.4 (default, Apr 6 2013, 19:54:46) [MSC v.1500 32 bit (Intel)]<br>
<br><br>Someone has say to me i must do something like xml_obj.text to get the string but i dont know how<br><br>can someone help me??<br></div>