[EMAIL PROTECTED] 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-linux-users/ Diez -- http://mail.python.org/mailman/listinfo/python-list