То, в чем я нуждаюсь, просто получают текст соответствующего тега и сохраняют его в базу данных. Так как XML-файл является большим (4.5 ГБ), я использую саксофон. Я использовал метод символов, чтобы получить текст и поместить его в словарь. Однако, когда я печатаю текст в 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]
Заранее спасибо.
Текст в теге разбивается на блоки процессором SAX. символы
могут вызываться несколько раз.
Вам нужно сделать что-то вроде:
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]