2010-12-08 100 views
1

我有这个XML文件:选择元素LINQ到XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<games> 
    <game id="123456" name="501"> 
    <player id="1"> 
     <name>john</name> 
     <score>495</score> 
     <movesLeft>15</movesLeft> 
     <won>No</won> 
     <completed>uncompleted</completed> 
    </player> 
    <player id="2"> 
     <name> 
     konj 
     </name> 
     <score>501</score> 
     <movesLeft>15</movesLeft> 
     <won>No</won> 
     <completed>uncompleted</completed> 
    </player> 
    </game> 
</games> 

,我创建这个查询,但它并不能编译:

string path = @"D:\xml\dartDatabase.xml"; 
XElement file = XElement.Load(path); 

var query = from f in file.Element("games").Elements("game") 
      where (string)f.Attribute("id") == "123" 
      select (string)f.Element("name"); 

它强调的第一条线(约from部分),说错误是:

'Where'not found,你是否缺少对System.Core.dll的引用或使用System.Linq的指令

怎么了?

+2

您是否看错了? – SLaks 2010-12-08 23:55:22

回答

1

添加using System.Linq;

+0

谢谢,那真是愚蠢。我添加了XLinq,并认为这就够了。 – 2010-12-08 23:57:20