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"/> -- http://mail.python.org/mailman/listinfo/python-list