C#/ XML:“System.Xml.XmlDocument”不包含定义“后人”

问题描述:

我刚刚收到一个错误前一阵子从这个代码:C#/ XML:“System.Xml.XmlDocument”不包含定义“后人”

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."; } 

我缺少的东西?

你只需要从XmlDocument切换到XDocument。

您正在尝试使用LINQ to SQL,但实际使用的是旧学校的DOM API。您需要添加对System.XMLSystem.Xml.Linq的引用,并使用XDocument而不是XmlDocument

使用

XDocument xmlDoc = new XDocument(); 

这一翻译的

XmlDocument xmlDoc = new XmlDocument(); `