Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 使用变量的C Linq查询子体方法_Xml_Linq_C# 3.0 - Fatal编程技术网

Xml 使用变量的C Linq查询子体方法

Xml 使用变量的C Linq查询子体方法,xml,linq,c#-3.0,Xml,Linq,C# 3.0,我正在尝试使用使用变量的C Linq查询子体方法。 这是XML的一部分 <CourseList> <course id="EM220" name="Fundamentals of Mechanics"/> <course id="EM305" name="Engineering Tools Seminar"/> <course id="EM320" name="Dynamics"/> </CourseList>

我正在尝试使用使用变量的C Linq查询子体方法。 这是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("course") 

这似乎很容易做到,但显然不是


有什么建议吗?

应该很管用。请注意,此处不需要使用查询表达式-您可以使用:

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

如果出于某种原因,这对你不起作用,请说出哪里出了问题。问问题时,这总是一个好主意。

您想从XM中得到什么?只是所有的课程ID还是一个特定的课程ID?
from ci in doc.Descendants("course") 
from ci in doc.Descendants(c) 
static void GetAllCourseIds(XElement doc, string elementName) 
{ 
    IEnumerable<XElement> courseId = doc.Descendants(elementName);
    foreach (XElement ci in courseId)
    {
        Console.WriteLine((string)ci.Attribute("id"));
    }
}