Poblema xml

lunedì 03 aprile 2006 - 16.19

alecomo Profilo | Junior Member

ciao a tutti...
spiego a grandi linee com'è costruito il mio programma...
voglio creare un file xml avente la stessa struttura gerarchica della treeview che l'utente puo creare...
ogni nodo della treeview è un oggetto le cui proprietà possono essere editate con delle form...

il problema è che quando devo scrivere all'interno del file xml le proprietà di un determinato nodo non riesco...o megliko non riesco quando ho una serie di nodi tutti dello stesso tipo...mi spiego meglio con un esempio...
root -> nodo manifest
1 figlio -> nodo organization
1 figlio organization -> nodo item
quando vado a scrivere nel file xml, non ho problemi per i nodi manifest e organization dato che possono essere 1 soltanto...ho problemi con i nodi item perche possono essere diversi e tutte le volte che vado a scrivere mi memorizza sempre gli attributi dell ultimo item editato....cosa posso fare?
allego un pezzo di codice per farvi capire meglio...
{ xr.WriteStartElement(treeView2.Nodes[0].Text); xr.WriteStartAttribute("xmlns"); xr.WriteValue(man.p_xmlns); xr.WriteEndAttribute(); xr.WriteStartAttribute("xmlns:imsmd"); xr.WriteValue(man.p_xmlns_imsmd); xr.WriteEndAttribute(); xr.WriteStartAttribute("xmlns:xsi"); xr.WriteValue(man.p_xmlns_xsi); xr.WriteEndAttribute(); xr.WriteStartAttribute("xmlns:adlcp"); xr.WriteValue(man.p_xmlns_adlcp); xr.WriteEndAttribute(); xr.WriteStartAttribute("xmlns:schemalocation"); xr.WriteValue(man.p_xsi_schemaLocation); xr.WriteEndAttribute(); } foreach (TreeNode node in tv.Nodes) { saveNode(node.Nodes); } } private void saveNode(TreeNodeCollection tnc) { foreach (TreeNode node in tnc) { if (node.Text == "organization") { xr.WriteStartElement(node.Text); xr.WriteStartAttribute("id_organization"); xr.WriteValue(org.p_id_organization); xr.WriteEndAttribute(); xr.WriteStartAttribute("struct_organization"); xr.WriteValue("hierarchical"); xr.WriteEndAttribute(); xr.WriteElementString("title", org.p_title_organization); saveNode(node.Nodes); xr.WriteEndElement(); } else if (node.Text == "item") <- i problemi li ho qui { xr.WriteStartElement(node.Text); xr.WriteStartAttribute("id_item"); xr.WriteValue(item.p_id_item); xr.WriteEndAttribute(); xr.WriteStartAttribute("ref_element"); xr.WriteValue(item.p_refelem_item); xr.WriteEndAttribute(); xr.WriteElementString("title", item.p_title_item); saveNode(node.Nodes); xr.WriteEndElement(); } }
spero che qualcuno mi possa aiutare
grazie!

alecomo Profilo | Junior Member

e come dovrei fare?

alecomo Profilo | Junior Member

scusa la mia ignoranza ma non riesco a capire come fare per risolvere il problema...me lo potresti spiegare con un breve esempio ? ti ringrazio

alecomo Profilo | Junior Member

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

alecomo Profilo | Junior Member

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
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