我需要的是获取相应标签的文本并将其保存到数据库中。由于xml文件很大(4.5GB),我使用的是sax。我使用字符方法获取文本并将其放入字典中。但是,当我在 endElement 方法中打印文本时,我得到一个新行而不是文本。
这是我的代码:
def characters(self,content):
text = unescape(content))
self.map[self.tag]=text
def startElement(self, name, attrs):
self.tag = name
def endElement (self, name)
if (name=="sometag")
print self.map[name]
提前致谢。
答案 0 :(得分:8)
标签中的文本被SAX处理器分块。可能会多次调用characters
。
您需要执行以下操作:
def startElement(self, name, attrs):
self.map[name] = ''
self.tag = name
def characters(self, content):
self.map[self.tag] += content
def endElement(self, name):
print self.map[name]