解析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()
我试过在我的endElement标签里放一个返回语句,但这个返回值似乎没有传递到我调用SAX解析器的地方。
谢谢大家的建议。
1 个回答
2
唉,我坐下来想了一下,答案其实很简单。就是用return来退出这个方法,然后直接从我创建的ContentHandler对象中提取数据字段。