2010-07-23 63 views
4

我剛剛收到一個錯誤前一陣子從這個代碼: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."; } 

我缺少的東西?

回答

20

你只需要從XmlDocument切換到XDocument。

4

您正在嘗試使用LINQ to SQL,但實際使用的是舊學校的DOM API。您需要添加對System.XMLSystem.Xml.Linq的引用,並使用XDocument而不是XmlDocument

0

使用

XDocument xmlDoc = new XDocument(); 

這一翻譯的

XmlDocument xmlDoc = new XmlDocument(); `