Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Modificare un attributo in un file xml
giovedì 31 agosto 2006 - 10.41
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Gemini
Profilo
| Expert
856
messaggi | Data Invio:
gio 31 ago 2006 - 10:41
Ciao a tutti
come posso modificare un atributo di un nodo in un file xml?
Ho provato con:
figlio..Attributes["titolo"]="bambino";
ma mi da questo errore quando compilo:
Impossibile assegnare un valore alla proprietà o all'indicizzatore 'System.Xml.XmlAttributeCollection.this[string]' perché è in sola lettura.
Come posso fare?
Grazie mille
Gemini
Profilo
| Expert
856
messaggi | Data Invio:
gio 31 ago 2006 - 12:44
Grazie mille per l'aiuto
ho scritto questo codice per aggiornare gli attributi:
//Aggiornamento del nodo
file_xml=Server.MapPath(cs.FileXmlAdmin);
XmlDocument doc = new XmlDocument();
doc.Load(file_xml);
XmlNode nodo = doc.DocumentElement.SelectSingleNode("elenco[@categorie='" + categoria + "']");
if (nodo.HasChildNodes)
{
XmlNode figlio = nodo.SelectSingleNode("id[@titolo='" + lblTitolo.Text + "']");
figlio.Attributes["anteprima"].Value = categoria + "-" + lblOperaId.Text + estensione_file;
figlio.Attributes["titolo"].Value = txtTitolo.Text.Trim();
figlio.Attributes["data_cr"].Value = txtData.Text.Trim();
figlio.Attributes["altezza"].Value = txtAltezza.Text.Trim();
figlio.Attributes["larghezza"].Value = txtLarghezza.Text.Trim();
figlio.Attributes["tecnica"].Value = txtTecnica.Text.Trim();
nodo.AppendChild(figlio);
doc.Save(file_xml);
}
quando apro la pagina ricevo questo messaggio di errore:
Riferimento a un oggetto non impostato su un'istanza di oggetto.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.
Dettagli eccezione: System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto.
Errore nel codice sorgente:
Durante l'esecuzione della richiesta Web corrente è stata generata un'eccezione non gestita. Per informazioni sull'origine e la posizione dell'eccezione, vedere l'analisi dello stack dell'eccezione riportata di seguito.
Analisi dello stack:
[NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto.]
gadirsrl.Administrator.Opere.Opere.UpdateOpera(QuerySystem qs)
gadirsrl.Administrator.Opere.Opere.btnSave_Click(Object sender, ImageClickEventArgs e)
System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e) +109
System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +69
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1292
Ho controllato è l'errore dipendete da Attributes.
come posso fare?
Grazie mille
Gemini
Profilo
| Expert
856
messaggi | Data Invio:
gio 31 ago 2006 - 18:59
Grazie mille
ora funziona tutto.
Però c'è un piccolo problema.
il mio file xml ha la seguente struttura:
<gallery>
<elenco cat="1">
<id foto="foto1" />
</elenco>
</gallery>
se elenco ha un figlio mi permette di inserire altri figli, se eleco non ha figli non inserisce il nodo figlio ad elenco.
Perchè?
Grazie mille
Gemini
Profilo
| Expert
856
messaggi | Data Invio:
ven 1 set 2006 - 10:27
Ciao
utilizzo lo stesso codice per inserire i nodi.
Ora non ricordo bene se bisogna utilizzare del codice differente quando si inserisce il primo figlio di un nodo.
Gemini
Profilo
| Expert
856
messaggi | Data Invio:
ven 1 set 2006 - 12:49
Grazie mille per il tuo aiuto
E' un mio errore.
Ho scritto:
if (nodo.HasChildNodes) invece di (if nodo!=null)
Ancora grazie
Torna su
Stanze Forum
Elenco Threads
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 !