2009-09-29 8 views
0

변수를 사용하여 C# Linq 쿼리 Descendants 메서드를 사용하려고합니다.C# Linq 쿼리 변수를 사용하는 자손 메서드

static void GetAllCourseIds(XElement doc) 
{ 
    IEnumerable<XElement> courseId = 
     from ci in doc.Descendants("course") <---want to use a variable 
     select ci; 
    foreach (XElement ci in courseId) 
     Console.WriteLine((string)ci.Attribute("id")); 
} 

내가

string c = "course"; 

을 사용하려고 다음

from ci in doc.Descendants("course") 

대체 : 다음은 쿼리 XML 여기

<CourseList> 
    <course id="EM220" name="Fundamentals of Mechanics"/> 
    <course id="EM305" name="Engineering Tools Seminar"/> 
    <course id="EM320" name="Dynamics"/> 
</CourseList> 

의 일부입니다

from ci in doc.Descendants(c) 

분명 쉽지는 않겠지 만 분명히 아닙니다.

제안 사항?

+0

XM에서 벗어나려고하십니까? 그냥 모든 코스 ID 또는 특정 코스 ID? – Omar

답변

0

그래도 문제가 없습니다. 여기에 쿼리 식을 사용할 필요가 없다는 것을 주 - 당신은 그냥 사용할 수 있습니다

static void GetAllCourseIds(XElement doc, string elementName) 
{ 
    IEnumerable<XElement> courseId = doc.Descendants(elementName); 
    foreach (XElement ci in courseId) 
    { 
     Console.WriteLine((string)ci.Attribute("id")); 
    } 
} 

을 그 어떤 이유로 당신을 위해 작동하지 않는 경우, 잘못되면 무슨 말을하십시오. (입니다. 질문 할 때 항상이 좋습니다.)