2010-12-08 9 views
1

ich diese XML-Datei haben:Auswählen von Elementen mit LINQ-to-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> 

und erstelle ich diese Abfrage, aber es lässt sich nicht kompilieren:

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

Es die erste Zeile unterstreicht (ca. from Abschnitt), um den Fehler zu sagen ist:

‚Wo‘ nicht gefunden wird, fehlt ein Verweis auf System.Core.dll oder Direktive für System.Linq

Was ist los?

+2

Haben Sie den Fehler gelesen? – SLaks

Antwort

1

Hinzufügen using System.Linq;

+0

Danke, das war dumm von mir. Ich habe XLinq hinzugefügt und dachte, das ist genug. –

+0

Ich bin nach einer Weile zu diesem Projekt zurückgekehrt, habe aber nie ein Problem gelöst. Diese Abfrage wird nie ausgeführt, wenn ich versucht habe, verwende ich 'NullReferenceException'. 'Ich versuchte Console.WriteLine (query.ToString); ' aber es kommt nie dorthin. Was ist das Problem mit dieser Abfrage, ich benutze immer noch über XML-Datei. –

+0

'f.Element (" name ") ist' null', da das '' -Tag nur '' Elemente enthält. – SLaks

Verwandte Themen