¿Cómo puedo escribir la salida XML?
Pregunta
¿Cómo puedo ver la salida XML de la siguiente código C #? Veo que utiliza XElement, pero donde puedo localizar el archivo XML o la salida?
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);
}
Solución
Su resultado sólo existe dentro de su "xmlString" variables - no está siendo escrito en ninguna parte, ni en la consola / ventana, ni en un archivo
.Vas a tener que añadir un
doc.Save(@"C:\your-xml-file-name.xml");
línea al final de su método para guardar el contenido de un archivo en el disco.
Asegúrese de utilizar una ruta completa, o compruebe en el directorio actual donde se está ejecutando la aplicación (es decir, en (yourappname)\bin\debug
, lo más probable).
Marc
Otros consejos
Ese código no está escribiendo XML en cualquier lugar, pero la memoria (la variable xmlString
).
Se podría intentar llamar XElement.Save()
y conseguir que en un archivo :
doc.Save(@"filename.xml");
O utilizar el depurador y mirar las variables.
O, si lo prefiere, simplemente ponerlo en un cuadro de texto:
textBox.Text = xmlString;
Ten en cuenta que puede no ser un formato agradable ...