Search code examples
c#xmllinqxelement

How can I write XML output?


How can I see the XML output of following C# code? I can see that it uses XElement, but where I can locate the XML file or the output?

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);
}

Solution

  • Your result only exists inside your "xmlString" variable - it's not being written anywhere, neither onto the console / window, nor into a file.

    You'll have to add a

    doc.Save(@"C:\your-xml-file-name.xml");
    

    line at the end of your method to save the contents to a file on disk.

    Make sure to use a full path, or check in your current directory where the app is running (i.e. in (yourappname)\bin\debug, most likely).

    Marc