2010-06-08 82 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對象中取出數據字段。