用SAX解析xml后返回对象
问题描述:
我有一些大的XML文件需要解析并创建了一个包含我的相关数据的对象类。不幸的是,我不确定如何返回对象以供以后处理。现在我腌制我的数据,并在不久之后取消访问对象。这看起来很浪费,而且肯定有一种方法可以在不敲击磁盘的情况下抓取我的数据。用SAX解析xml后返回对象
def endElement(self, name):
if name == "info": # done collecting this iteration
self.data.setX(self.x)
self.data.setY(self.y)
elif name == "lastTagOfInterest": # done with file
# want to return my object from here
filehandler = open(self.outputname + ".pi", "w")
pickle.dump(self.data, filehandler)
filehandler.close()
我试图把一个return语句在我的endElement标签,但似乎并没有得到向上传递链到我所说的SAX解析器。
感谢您的任何提示。
答
Bah,坐了一会儿,想了一会儿,答案很明显。返回退出该方法,然后从我创建的ContentHandler对象中取出数据字段。
是不是在self.data?有什么我不明白吗? – 2010-06-08 22:02:25
正确,我被临时的愚蠢所蒙蔽。 – 2010-06-08 22:08:17