Comment puis-je écrire une sortie XML?
Question
Comment puis-je voir la sortie XML de suivre le code C #? Je peux voir qu'il utilise XElement, mais où je peux trouver le fichier XML ou la sortie?
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);
}
La solution
Votre résultat existe seulement à l'intérieur de votre « xmlString » variable - il est pas écrit nulle part, ni sur la console / fenêtre, ni dans un fichier
.Vous devez ajouter un
doc.Save(@"C:\your-xml-file-name.xml");
ligne à la fin de votre méthode pour enregistrer le contenu dans un fichier sur le disque.
Assurez-vous d'utiliser un chemin complet, ou vérifier dans votre répertoire courant où l'application est en cours d'exécution (par exemple dans (yourappname)\bin\debug
, le plus probable).
Marc
Autres conseils
Ce code n'est pas en train d'écrire XML, mais nulle part la mémoire (la variable xmlString
).
Vous pouvez essayer d'appeler XElement.Save()
et obtenir sur un fichier :
doc.Save(@"filename.xml");
Ou utilisez le débogueur et regardez les variables.
Ou, si vous préférez, mettez simplement dans une zone de texte:
textBox.Text = xmlString;
il faut savoir qu'elle ne peut pas être formaté ... bien