Quello che mi serve è solo ottenere il testo del tag corrispondente e persistere nel database. Dal momento che il file xml è grande (4,5 GB) sto usando il sax. Ho usato il metodo caratteri per ottenere il testo e inserirlo in un dizionario. Tuttavia, quando sto stampando il testo nel metodo endElement, ricevo una nuova riga anziché il testo.Come posso ottenere il testo tra i tag usando il parser SAX python?
Ecco il mio codice:
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]
Grazie in anticipo.
Grazie! Il seguente codice è un incidente o dovrebbe essere così? self.map [name] == '' – ablimit
Dove posso trovare un riferimento a questo comportamento? Il testo nel tag viene troncato dal processore SAX. i personaggi potrebbero essere chiamati più volte. – ablimit
Siamo spiacenti, un errore di battitura. Ho modificato la risposta. self.map [nome] = '' – codeape