Secondo me, manca solamente l'istruzione di load.
Dovresti fare cosi.
Crei il dataset
Guardi se esiste il file con File.Exists("nomefile")
Se non esiste allora crei la tabella e le row.
Se esiste, esegui la ds.ReadXml("nomefile").
A questo punto puoi aggiungere i tuoi dati.
Ho visto che sia la ReadXml che la WriteXml, hanno un secondo parametro che permette di memorizzare anche lo schema.
Ti conviene fare 2 prove per vedere se e' necessario che sia presente per far correttamente il giochino di read/write.
![]()