Come posso scrivere output XML?
Domanda
Come posso vedere l'output XML del seguente codice C #? Vedo che utilizza XElement, ma dove posso trovare il file XML o l'uscita?
private void Form1_Load(object sender, EventArgs e)
{
XElement doc = new XElement("searchresults"); // root element
//create
XElement result = new XElement("result",
new XElement("Resulthead", "AltaVista"),
new XElement("ResultURL", "www.altavista.com/"),
new XElement("Description", "AltaVista provides the most comprehensive search experience on the Web! ... "),
new XElement("DisplayURL", "www.altavista.com/")
);
doc.Add(result);
//add another search result
result = new XElement("result",
new XElement("Resulthead", "Dogpile Web Search"),
new XElement("ResultURL", "www.dogpile.com/"),
new XElement("Description", "All the best search engines piled into one. All the best search engines piled into one."),
new XElement("DisplayURL", "www.dogpile.com/")
);
doc.Add(result);
string xmlString = doc.ToString(SaveOptions.DisableFormatting);
}
Soluzione
Il risultato esiste solo dentro la variabile "xmlString" - non è stato scritto da nessuna parte, né sulla console / finestra, nè in un file
.Si dovrà aggiungere un
doc.Save(@"C:\your-xml-file-name.xml");
riga alla fine del metodo per salvare il contenuto di un file su disco.
Assicurarsi di utilizzare un percorso completo, o controllare nella directory corrente in cui l'applicazione è in esecuzione (vale a dire in (yourappname)\bin\debug
, più probabile).
Marc
Altri suggerimenti
Questo codice non è la scrittura di XML ovunque ma la memoria (la variabile xmlString
).
Si potrebbe provare a chiamare XElement.Save()
e farlo su un file :
doc.Save(@"filename.xml");
In alternativa, utilizzare il debugger e guardare le variabili.
O, se si preferisce, è sufficiente mettere in una casella di testo:
textBox.Text = xmlString;
badate che potrebbe non essere ben formattato ...