是否可以使用一个LINQ查询一次返回所有元素和子元素的值?使用下面的查询,我能够检索第一个元素,但不能检索子元素。
var query = from c in xDoc.Descendants("file")
orderby c.Name
select new
{
// This gets the main elements
Name = (string)c.Element("name").Value,
};
XML文件如下所示:
<files>
<file id="1">
<name>A file</name>
<processDetails>
<purpose>It's supposed to get files.</purpose>
<filestoProcess>
<file>alongfile.pgp</file>
<file>Anotherfile.pgp</file>
<file>YetAnotherfile.CSV</file>
</filestoProcess>
<schedule>
<day>Mon</day>
<day>Tue</day>
<time>9:00am</time>
</schedule>
<history>
<historyevent>Eh?</historyevent>
<historyevent>Two</historyevent>
</history>
</processDetails>
</file>
<files>
此外,一旦检索到如何访问子元素以填充列表框和/或文本框?
答案 0 :(得分:0)
您的查询存在的问题是,您的第一个file
元素与您的子file
元素的类型不同。
因此,当您实际执行查询时,您将无法找到子name
元素的file
属性,并且您将获得null reference exception when you try to invoke the
值{ {1}} file` elements。
你似乎想要做的事情并没有多大意义。但也许你想要的东西如下:
property of the child