2

次のリンクから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());
}
4

2 に答える 2

1

OPは、投稿された回答が気に入ったと言ったので、科学のために再提出します:)

var data = from item in doc.Descendants("person")
           select item;

これに関する唯一の問題は、データがでありIEnumerable<XElement>、文字列名でフィールドをクエリする必要があることです。

于 2012-04-18T20:03:48.583 に答える
-1
// Do a simple query and print the results to the console 
var data = from item in doc.Descendants("person") 
             select item;   
于 2012-04-18T19:39:13.863 に答える