C#/XML: 'System.Xml.XmlDocument' does not contain a definition for 'Descendants'

10,714

Solution 1

You just need to switch from XmlDocument to XDocument.

Solution 2

You are trying to use LINQ to SQL but actually using the old school DOM API. You need to add references to System.XML and System.Xml.Linq and use XDocument, not XmlDocument.

Share:
10,714
abramlimpin
Author by

abramlimpin

I code for food.

Updated on June 11, 2022

Comments

  • abramlimpin
    abramlimpin about 2 years

    I just received an error a while ago from this code:

    private void ShowXMLDatatoRTB() {
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load("XMLFile.xml");
    
    var persons = from person in xmlDoc.Descendants("Person")
            select new
                {
                    Name = person.Element("Name").Value,
                        City = person.Element("City").Value,
                    Age = person.Element("Age").Value,
                };
    
    richTextBox1.Text = "";
    foreach (var person in persons)
    {
        richTextBox1.Text = richTextBox1.Text + "Name: " + person.Name + "\n";
                richTextBox1.Text = richTextBox1.Text + "City: " + person.City + "\n";
                richTextBox1.Text = richTextBox1.Text + "Age: " + person.Age + "\n\n";
        }
    
    if (richTextBox1.Text == "")
                richTextBox1.Text = "No Results."; }
    

    Am I missing something?