Parsing xml file in python

amjadcsu at gmail.com amjadcsu at gmail.com
Tue Oct 30 19:45:17 CET 2007


That XML is just a snapshot
I am not getting into the xml parser. The error is not generated but
also the /root/yhpc-2.0/ganglia.txt does not contain anything.




On Oct 30, 12:32 pm, "Diez B. Roggisch" <de... at nospam.web.de> wrote:
> amjad... at gmail.com schrieb:
>
>
>
> > I am a newbie in python
> > I am trying to parse a xml file and write its content in a txt file.
> > The txt contains null elements. Any reason what  iam doing wrong here
>
> > Here is the code that i wrote
>
> > import sys,os
> > import xml.sax
> > import xml.sax.handler
> > from xml.sax.handler import ContentHandler
> > from xml.sax import make_parser
>
> > class gmondxmlparse (ContentHandler):
>
> >     def __init__(self,searchTerm):
> >         self.searchTerm=searchTerm;
>
> >     def startElement(self,name,attrs):
>
> >         if name=="HOST":
> >             self.hostname=attrs.get('NAME',"")
> >             self.IP=attrs.get('IP',"")
> >         elif name=="METRIC":
> >             self.metricname=attrs.get('NAME', "")
> >             self.metricvalue=attrs.get('VAL',"")
> >             self.metrictype=attrs.get('TYPE',"")
> >             self.metricunit=attrs.get('UNITS',"")
> >         return
>
> >     def endElement(self,name):
> >         if name=="HOST" and self.searchTerm==self.hostname:
> >             try:
> >                 fh=open('/root/yhpc-2.0/ganglia.txt' ,'w')
> >             except:
> >                 print "File /root/yhpc-2.0/ganglia.txt can not be
> > open"
> >                 sys.exit(1)
> >             fh.write("This is a test for xml parsing with python with
> > chris and amjad \n")
> >             fh.write("the host name is", self.hostname, "\n")
> >             fh.write("the ip address is", self.IP, "\n")
> >             fh.close()
>
> > searchTerm="HOST"
> > parser=make_parser()
> > curHandler=gmondxmlparse(searchTerm)
> > parser.setContentHandler(curHandler)
> > parser.parse(open("/root/yhpc-2.0/gmond.xml"))
>
> > Here is the sample of xml file
>
> > Here is the  xmk file called gmond.xml
> > <HOST NAME="192.168.10.163" IP="192.168.10.163" REPORTED="1193689455"
> > TN="0" TMAX="20" DMAX="0" LOCATION="unspecified"
> > GMOND_STARTED="1193170061">
> > <METRIC NAME="cpu_num" VAL="2" TYPE="uint16" UNITS="CPUs" TN="994"
> > TMAX="1200" DMAX="0" SLOPE="zero" SOURCE="gmond"/>
>
> Without an actual error given, it's hard to know what your problem is.
>
> One thing though is noticable: your XML below isn't valid - XML has only
> one root-element.
>
> And just for the record: it appears that you work under linux using a
> root-account. Bad idea. Really.
>
> http://linuxbraindump.org/2007/08/13/the-10-commandments-for-new-linu...
>
> Diez





More information about the Python-list mailing list