[Qgis-user] QGIS Plugin to open and parse xml metadata

Suryo Miles suryomiles666 at gmail.com
Mon Mar 24 09:45:34 PDT 2014


I make plugin in QGIS to open and read XML file, then parse it and show
scale map from it, its a big xml file and line with scale information have
format like this

<gmd:denominator><gco:Integer>ScaleValue</gco:Integer></gmd:denominator>

and i try code like this to open xml file and then parse it:

from PyQt4 import QtCore, QtGuifrom ui_latih import Ui_latih# create
the dialog for zoom to point

class latihDialog(QtGui.QDialog):
    def __init__(self):
        QtGui.QDialog.__init__(self)
        # Set up the user interface from Designer.
        self.ui = Ui_latih()
        self.ui.setupUi(self)

        cariButton = self.ui.btnCari
        QtCore.QObject.connect(cariButton, QtCore.SIGNAL('clicked()'),self.cari)

    def cari(self, event=None):

        #open dialog
        filename = QtGui.QFileDialog.getOpenFileName(self, 'Open File', '*.xml')

        self.ui.lineFile.setText(filename)

        #call text
        self.isiDataFile(filename)

    def isiDataFile(self, nmfile):
        #open with read mode
        teksFile = open(nmfile, 'r').read()

        self.ui.textFile.setText(teksFile)

    import xml.etree.ElementTree as ET

    tree = ET.parse(filename)
    doc = tree.getroot()

    for elem in doc.findall('Default_Config/gmd:denominator'):
        x = elem.tag, elem.text
        self.ui.lineSkala.setText(x)

    for elem in doc.findall('Default_Config/gmd:MD_Format'):
        y = elem.tag, elem.text
        self.ui.lineFitur.setText(y)

I try using Element Tree to parse and show ScaleValue in LineEdit because
its integrated in python, but i have error message like this :

NameError: name 'filename' is not defined

i am really newbie in python and xml parser, can i pass the xml location
from open xml code to

tree = ET.parse( )

because i plan to open more than one xml file and scale in one and another
xml file have different value as well

Can Someone help me?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20140324/3f090c03/attachment.html>


More information about the Qgis-user mailing list