我一直在从以下链接看一个LINQ的例子;我已经在链接下面发布了代码。
是否可以修改此示例,以便var
中返回的项目包含与doc.Descendants(“person”)过滤器匹配的项目中找到的所有子元素?我基本上希望这个XML查询的行为类似于SQL select *所以我不必像使用drink,moneySpent和zipCode那样明确指定字段名称。
http://broadcast.oreilly.com/2010/10/understanding-c-simple-linq-to.html#example_1
static void QueryTheData(XDocument doc)
{
// Do a simple query and print the results to the console
var data = from item in doc.Descendants("person")
select new
{
drink = item.Element("favoriteDrink").Value,
moneySpent = item.Element("moneySpent").Value,
zipCode = item.Element("personalInfo").Element("zip").Value
};
foreach (var p in data)
Console.WriteLine(p.ToString());
}
答案 0 :(得分:1)
OP表示他喜欢发布的答案,所以我只是重新提交它用于科学:)
var data = from item in doc.Descendants("person")
select item;
唯一的问题是数据是IEnumerable<XElement>
,您必须按字符串名称查询字段。
答案 1 :(得分:-1)
// Do a simple query and print the results to the console
var data = from item in doc.Descendants("person")
select item;