Topic: Gestione documento XML con informazioni "gerarchiche"  (Letto 1065 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Bakuriu

  • python sapiens sapiens
  • ******
  • Post: 2.267
  • Punti reputazione: 2
  • Katon, Goukakyuu no jutsu!
    • Mostra profilo
    • Jack's Blackboard - Il mio blog
Gestione documento XML con informazioni "gerarchiche"
« il: Settembre 10, 2009, 12:03 »
Premetto che non ho mai usato xml prima.
Mi servirebbe per un'applicazione in cui in pratica vorrei salvare delle informazioni da un QTreeWidget su file XML, per poi poterle caricarle di nuovo nel QTreeWidget.
Ho capito circa in che modo potrei salvarle, cioè io pensavo di fare una cosa così:

<treeWidget>
    <elemento_root1>
        <figlio1>a</figlio1>
        <figlio2>b</figlio2>
        <figlio3>c</figlio3>
    </elemento_root1>
    <elemento_root2>
        <figlio1>d</figlio1>
        <figlio2>e</figlio2>
        <figlio3>f</figlio3>
    </elemento_root2>
</treeWidget>

(in questo file dovrei salvare anche altre cose ecco perchè metto tutto il contenuto del QTreeWidget nel <treeWidget>)

Comunque il mio problema è:
come parsare questo documento?
Ho letto le varie doc di python sulla gestione documenti xml ma sinceramente mi sembra tutto molto confuso...non c'è neanche un esempio pratico(almeno io non ne ho trovato nessuno)
So che il dom dovrebbe essere quello che fa al caso mio, ma davvero non capisco come fare.
Qualcuno che mi dia qualche hint?

Offline Sabba

  • python neanderthalensis
  • ****
  • Post: 411
  • Punti reputazione: 2
    • Mostra profilo
Re: Gestione documento XML con informazioni "gerarchiche"
« Risposta #1 il: Settembre 10, 2009, 12:39 »

Offline Bakuriu

  • python sapiens sapiens
  • ******
  • Post: 2.267
  • Punti reputazione: 2
  • Katon, Goukakyuu no jutsu!
    • Mostra profilo
    • Jack's Blackboard - Il mio blog
Re: Gestione documento XML con informazioni "gerarchiche"
« Risposta #2 il: Settembre 10, 2009, 13:05 »
Si l'ho visto poco tempo fa quello...
comincio a intravedere qualcosa ma ancora non saprei come implementare quello che voglio io...
Penso che il modo più comodo per utilizzare i dati poi su un QTreeWidget sia di fargli le informazioni in un dizionario che ha per chiavi i nomi dei widget figli del tree e per valori le liste di figli.
comunque questo pomeriggio provo a creare un piccolo esempio e magari posto un po' di codice per farvi capire meglio...

Offline Sabba

  • python neanderthalensis
  • ****
  • Post: 411
  • Punti reputazione: 2
    • Mostra profilo
Re: Gestione documento XML con informazioni "gerarchiche"
« Risposta #3 il: Settembre 10, 2009, 13:45 »
Beh, a questo punto io eviterei proprio XML.
Potresti usare banalmente pickle, oppure (scelta che io preferirei) json: http://docs.python.org/library/json.html

Offline Bakuriu

  • python sapiens sapiens
  • ******
  • Post: 2.267
  • Punti reputazione: 2
  • Katon, Goukakyuu no jutsu!
    • Mostra profilo
    • Jack's Blackboard - Il mio blog
Re: Gestione documento XML con informazioni "gerarchiche"
« Risposta #4 il: Settembre 10, 2009, 14:19 »
Pickle non lo so usare...conosco shelve...
json ci darò un'occhiata...
comunque sinceramente so che prima o poi nel parsing ci inciamperò quindi preferisco imparare subito a usarlo.
Con shelve di certo non sarebbe un problema basta che memorizzi ogni con il nome come chiave e il valore una tupla che ti dice dove metterlo...
Ma ripeto a me interessa XML e parsing.
Comunque ho appena scoperto un problema che mi impedirebbe comunque di salvare...
cioè ho QTreeWidgetItemIterator (classe fatta apposta per iterare su di un QTreeWidget) non è iterabile. quindi non capisco come cavolo tirare fuori i miei oggetti dall'albero...