Benvenuto! Per postare e godere delle funzionalità del forum registrati, occorrono pochi secondi ed è gratis!

problema con salvataggio file XML

Coder
Messaggi: 633
Discussioni: 57
Registrato: 04-2011
Mix: 0
ho creato una sorta di gioco in VB.NET che ha delle impostazioni modificabili a scelta dell'utente. per salvare tutte queste impostazioni uso un file XML e questo codice per scriverlo:

Imports System.Xml
Dim xml As New Data.DataSet
xml.Tables("impostazioni").Columns.Remove("sound")
xml.Tables("impostazioni").Columns.Remove("color")
xml.Tables("impostazioni").Columns.Remove("velocita")
xml.Tables("impostazioni").Columns.Remove("modalita")
xml.Tables("impostazioni").Columns.Remove("user")
xml.Tables("impostazioni").Columns.Add("sound")
xml.Tables("impostazioni").Columns.Add("color")
xml.Tables("impostazioni").Columns.Add("velocita")
xml.Tables("impostazioni").Columns.Add("modalita")
xml.Tables("impostazioni").Columns.Add("user")
xml.Tables("impostazioni").Rows(0).Item("sound") = sound.Text
xml.Tables("impostazioni").Rows(0).Item("color") = color.Text
xml.Tables("impostazioni").Rows(0).Item("velocita") = vlct.Text
xml.Tables("impostazioni").Rows(0).Item("modalita") = mdlt.Text
xml.Tables("impostazioni").Rows(0).Item("user") = ""
xml.WriteXml(".\settings.xml")

però riscontro un problema: ad ogni chiusura del form (e cioè quando salva i settaggi nell'XML), l'XML si presenta in questo modo:

<?xml version="1.0" standalone="yes"?>
<settings>
<impostazioni>
<punti />
<form />
<pb1x />
<pb1y />
<pb2x />
<pb2y />
<sound>on</sound>
<color>-16711936</color>
<velocita>Veloce</velocita>
<modalita>2</modalita>
<user />
</impostazioni>

fin qui tutto bene; salva ciò che deve salvare... ma poi appaiono questi items... perché?:

<impostazioni>
<punti />
<form />
<pb1x />
<pb1y />
<pb2x />
<pb2y />
</impostazioni>
</settings>

se qualcuno è così gentile da delucidarmi lo ringrazio in anticipo!

Davide Catone

PS: si l'ho copiato da un'altro forum su cui l'ho postato e visto che non mi rispondeva nessuno, chiedo a voi

10/09/2011, 20:32
#1
Cerca

WarRock Hacks Coder
Messaggi: 940
Discussioni: 47
Registrato: 03-2011
Mix: 0
mmm ti rispondo giusto per non lasciarti pensare che nessuno ti pensa Smile , però io di vb.net non è che ricordo granchè Sad

Semmai faccio una googlata al volo e una prova sul mio pc Smile


10/09/2011, 20:41
#2
Cerca

Coder
Messaggi: 633
Discussioni: 57
Registrato: 04-2011
Mix: 0
se non ti dà troppa noia te ne sarei grato Happywide

10/09/2011, 20:47
#3
Cerca
(Questo messaggio è stato modificato l'ultima volta il: 10/09/2011, 20:49 da digger.)

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
sembrerebbe che stai salvando una tabella con 2 records di cui uno vuoto per cui salva solo i nomi delle colonne,
prova a vedeere in debug, analizza la tabella e guarda un po' che faccia ha




digger
10/09/2011, 20:48
#4
Cerca
(Questo messaggio è stato modificato l'ultima volta il: 10/09/2011, 20:55 da Skyline@69.)

WarRock Hacks Coder
Messaggi: 940
Discussioni: 47
Registrato: 03-2011
Mix: 0
(10/09/2011, 20:47)Cato97 Ha scritto:

[Per vedere i link devi REGISTRARTI.]

se non ti dà troppa noia te ne sarei grato Happywide

Allora alla prima googlata ho trovato qualcosina, in inglese ma funzionante...
ho fatto una prova a modo mio, cioè piccolo form con button, alla pressione del button avvia la sub..
questo è tutto il codice dell'applicazione, ti basta fare copia incolla e anche se è in inglese vedi subito come funziona, è abbastanza intuitivo Smile

    VB Programming
  1. Imports System.Xml
  2.  
  3. Public Class Form1
  4.  
  5. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  6. Main()
  7. End Sub
  8. End Class
  9.  
  10. Module Module1
  11. Sub Main()
  12. ' Create a new file in current dir
  13. Dim textWriter As XmlTextWriter = New XmlTextWriter(".\myXmFile.xml", Nothing)
  14. ' Opens the document
  15. textWriter.WriteStartDocument()
  16. ' Write comments
  17. textWriter.WriteComment("First Comment XmlTextWriter Sample Example")
  18. textWriter.WriteComment("myXmlFile.xml in root dir")
  19. ' Write first element
  20. textWriter.WriteStartElement("Student")
  21. textWriter.WriteStartElement("r", "RECORD", "urn:record")
  22. ' Write next element
  23. textWriter.WriteStartElement("Name", "")
  24. textWriter.WriteString("Student")
  25. textWriter.WriteEndElement()
  26. ' Write one more element
  27. textWriter.WriteStartElement("Address", "")
  28. textWriter.WriteString("Colony")
  29. textWriter.WriteEndElement()
  30. ' WriteChars
  31. textWriter.WriteStartElement("Char")
  32. Dim ch() As Char = {"b", "l", "last"}
  33. textWriter.WriteChars(ch, 0, ch.Length)
  34. textWriter.WriteEndElement()
  35. ' Ends the document.
  36. textWriter.WriteEndDocument()
  37. ' close writer
  38. textWriter.Close()
  39. End Sub
  40. End Module



Poi però non so se è compatibile con ciò che devi fare tu, io mi sono limitato a trovare una routine di salvataggio xml valida Smile

10/09/2011, 20:54
#5
Cerca

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
questo era quello che avevo suggerito io tempo fa Asd


digger
10/09/2011, 20:55
#6
Cerca
(Questo messaggio è stato modificato l'ultima volta il: 10/09/2011, 20:58 da Skyline@69.)

WarRock Hacks Coder
Messaggi: 940
Discussioni: 47
Registrato: 03-2011
Mix: 0
(10/09/2011, 20:55)digger Ha scritto:

[Per vedere i link devi REGISTRARTI.]

questo era quello che avevo suggerito io tempo fa Asd

Tempo fa? ti riferisci a quando chiese come salvare? non perchè io li leggevo di fretta e furia i msg Asd Asd
Non lo ricordo Blush

Ma mi fido, tra noi Mod ci deve essere reciproca fiducia Asd Asd

10/09/2011, 20:57
#7
Cerca

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
si pure io dovrei andare a vedere come era andata, ma era del tipo
" come faccio a salvare e caricare settaggi da file xml?"
"prova ad usare XmlReader e XmlWriter (o xmltextreader, writer non ricordo)"
poi qualcuno aveva suggerito di usare le tabelle e salvare il contenuto in xml, e io ero d'accordo che era una bella soluzione, diciamo piu pulita, professionale Tounge
adesso ritorna l'xmltextwriter Smile



digger
10/09/2011, 21:01
#8
Cerca

WarRock Hacks Coder
Messaggi: 940
Discussioni: 47
Registrato: 03-2011
Mix: 0
(10/09/2011, 21:01)digger Ha scritto:

[Per vedere i link devi REGISTRARTI.]

si pure io dovrei andare a vedere come era andata, ma era del tipo
" come faccio a salvare e caricare settaggi da file xml?"
"prova ad usare XmlReader e XmlWriter (o xmltextreader, writer non ricordo)"
poi qualcuno aveva suggerito di usare le tabelle e salvare il contenuto in xml, e io ero d'accordo che era una bella soluzione, diciamo piu pulita, professionale Tounge
adesso ritorna l'xmltextwriter Smile
Asd Asd


10/09/2011, 21:01
#9
Cerca

Coder
Messaggi: 633
Discussioni: 57
Registrato: 04-2011
Mix: 0
indovinate un po'? ho risolto in altro modo Asd Asd Asd in pratica dico al programma di salvare quelle colonne vuote in un'altro file, visto che riguardano altri settaggi, e infatti così facendo non riscontro problemi... comunque +1 a tutti e 2 per il tempo ke vi ho fatto perdere inutilmente Happywide

10/09/2011, 22:43
#10
Cerca


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  Problema DragonBoost Lelep0w4 0 1,710 04/11/2017, 13:02
Ultimo messaggio: Lelep0w4
  Problema computer vecchiotto Pocciox 10 3,868 11/12/2014, 23:28
Ultimo messaggio: Admin
  Problema pubblicità generalmistic 5 1,844 28/06/2014, 15:50
Ultimo messaggio: Pocciox



Utenti che stanno guardando questa discussione: 1 Ospite(i)