2010-06-08 98 views
1

我有一些大的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解析器。

感谢您的任何提示。

+0

是不是在self.data?有什么我不明白吗? – 2010-06-08 22:02:25

+0

正确,我被临时的愚蠢所蒙蔽。 – 2010-06-08 22:08:17

回答

1

Bah,坐了一会儿,想了一会儿,答案很明显。返回退出该方法,然后从我创建的ContentHandler对象中取出数据字段。