Topic: child.text non recupera tutto il testo  (Letto 898 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline allevo

  • python unicellularis
  • *
  • Post: 15
  • Punti reputazione: 0
    • Mostra profilo
child.text non recupera tutto il testo
« il: Ottobre 10, 2009, 12:39 »
salve a tutti!!!
ho un problema con child.text. ho scritto un file xml di questo tipo:
<par>
ciao!!!!!!
ole!!
<formulae>\sum_{i=0}^3</formulae>
buona sera
</par>

ho aperto il terminale e digitato python3:
>>> import xml.etree.ElementTree as et
>>> file =  et.parse("NewFile.xml")
>>> root = file.getroot()
>>> root
<Element par at b7b2f44c>
>>> root.text
'\nciao!!!!!!\nole!!\n'

come mai non legge anche l'ultima riga "buona sera\n"??
non c'è un modo per fargli leggere tutto quello che c'è nel testo??

Offline riko

  • python deus
  • *
  • moderatore
  • Post: 7.453
  • Punti reputazione: 12
    • Mostra profilo
    • RiK0 Tech Temple
Re: child.text non recupera tutto il testo
« Risposta #1 il: Ottobre 10, 2009, 13:24 »
Il comportamento mi sembra assolutamente normale.

Per inciso, anche in caso di testo non spezzato, non e' poco comunque restituirlo in quanti pezzi si vuole,
a meno che non sia dato uno schema. Questi perche' il problema e' intrinsecamente ambiguo.

Offline allevo

  • python unicellularis
  • *
  • Post: 15
  • Punti reputazione: 0
    • Mostra profilo
Re: child.text non recupera tutto il testo
« Risposta #2 il: Ottobre 10, 2009, 13:28 »
quindi non è possibile avere al riga sotto??

Offline riko

  • python deus
  • *
  • moderatore
  • Post: 7.453
  • Punti reputazione: 12
    • Mostra profilo
    • RiK0 Tech Temple
Re: child.text non recupera tutto il testo
« Risposta #3 il: Ottobre 10, 2009, 18:50 »
quindi non è possibile avere al riga sotto??

Certo che e' possibile. Investiga le opzioni del tuo parser oppure scegli uno schema XML piu' naturale.

Offline allevo

  • python unicellularis
  • *
  • Post: 15
  • Punti reputazione: 0
    • Mostra profilo
Re: child.text non recupera tutto il testo
« Risposta #4 il: Ottobre 11, 2009, 14:21 »
ok trovato la soluzione. si usa minidom al posto che etree.ElementTree.
xml.dom.minidom.parse parsa tutto e completamente un file xml.