Scrivere in un file xml

mercoledì 04 gennaio 2006 - 12.35

alecomo Profilo | Junior Member

sto progettando un editor che sia in grado di aggiornare in base alle richieste dell'utente il file imsmanifest.xml che è il file indice dei corsi SCORM.
ora sono un po in crisi in quanto non so se la soluzione che voglio adottare sia qualla corretta:
vorrei creare una treeview contente i vari nodi(che sono gli elementi del xml) a vari livelli, questi nodi hanno tutti delle proprieta che sono gli attributi da aggiungere nel file xml
mi consigliate di usare un database? e poi come diavolo faccio ad aggiungere informazioni a un file xml?

Brainkiller Profilo | Guru

>sto progettando un editor che sia in grado di aggiornare in base
>alle richieste dell'utente il file imsmanifest.xml che è il
>file indice dei corsi SCORM.
>ora sono un po in crisi in quanto non so se la soluzione che
>voglio adottare sia qualla corretta:
>vorrei creare una treeview contente i vari nodi(che sono gli
>elementi del xml) a vari livelli, questi nodi hanno tutti delle
>mi consigliate di usare un database? e poi come diavolo faccio
> ad aggiungere informazioni a un file xml?

Dipende dalla struttura interna del file XML se è troppo complessa o meno.
Immagino sia composta da classici nodi.
A questo punto puoi creare una form con i vari campi mappati sui vari valori di un nodo standard.

Quando un utente completa la form e invia, tu carichi il file con XMLDocument.Load() aggiungi un nodo, lo riempi con i valori dalla form e risalvi il file.

Anceh con la Treeview è possibile ma forse è troppo complicato e poco comprensibile per l'utente.
ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

alecomo Profilo | Junior Member

grazie!!
ti allego il pezzo di codice riguardante questa parte:
voglio aggiungere l'elemento organizations nel file xml imsmanifest.xml
in questo file c'è gia l'elemento radice manifest
private void btnAddOrg_Click(object sender, System.EventArgs e)
{
MessageBox.Show(Orgs_Default.Text);

//apro file imsmanifest
string path = @"c:\data\imsmanifest.xml";
XmlDocument Doc = new XmlDocument();
Doc.Load(path);

MessageBox.Show("ok");
//aggiungo nodo organizations
XmlAttribute att;
XmlNode NodeOrgs;
NodeOrgs = Doc.CreateNode(XmlNodeType.Element,"Organizations","");
//att = Doc.CreateAttribute("Default Organization");
//att.Value = "B0";
//NodeOrgs.Attributes.Append(att);
Doc.Save(path);
}
non mi da errori quando eseguo ma se apro il file noto che non mi aggiunge nulla e che viene modificato lo spazio esistente tra i tag <manifest> e </manifest>
cosa posso fare?
grazie


alecomo Profilo | Junior Member

grazie!!
ti allego il pezzo di codice riguardante questa parte:
voglio aggiungere l'elemento organizations nel file xml imsmanifest.xml
in questo file c'è gia l'elemento radice manifest
private void btnAddOrg_Click(object sender, System.EventArgs e)
{
MessageBox.Show(Orgs_Default.Text);

//apro file imsmanifest
string path = @"c:\data\imsmanifest.xml";
XmlDocument Doc = new XmlDocument();
Doc.Load(path);

MessageBox.Show("ok");
//aggiungo nodo organizations
XmlAttribute att;
XmlNode NodeOrgs;
NodeOrgs = Doc.CreateNode(XmlNodeType.Element,"Organizations","");
//att = Doc.CreateAttribute("Default Organization");
//att.Value = "B0";
//NodeOrgs.Attributes.Append(att);
Doc.Save(path);
}
non mi da errori quando eseguo ma se apro il file noto che non mi aggiunge nulla e che viene modificato lo spazio esistente tra i tag <manifest> e </manifest>
cosa posso fare?
grazie


Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5