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!