2010-11-23 20 views
1

私はXDocumentにロードしたXMLをいくつか持っています。私のXMLは次のようになります。C#でLINQ経由でCLRオブジェクトにXMLをロード

<Items> 
    <Item Date="11/22/2010 9:05:23 PM" /> 
    <Item Date="11/22/2010 9:05:39 PM" /> 
</Items> 

ItemDateTimeが含まれています。私はList<DateTime>Itemsをロードする方法を把握しようとしています

string s = GetXml(); 
XDocument xml = XDocument.Parse(s); 

:私は、次のコードを使用してXDocumentには、このXMLをロードしています。誰かが私にLINQとC#を使ってこれを行う方法を説明できますか?

ありがとうございました!

+0

このドキュメントは、有効なXMLではありません。二重引用符の前にあるバックスラッシュは何ですか? –

+0

申し訳ありません。私はそれを修正した。 – user462166

答えて

2

テストしますが、このような何かトリック行う必要はありません。

var list = (from item in xml.Root.Descendents("Item") 
      select DateTime.Parse(item.Attribute("Date").Value).ToList(); 
1
var query = xml.Root.Elements("Item"). 
       Select(item => DateTime.Parse(item.Attribute("Date").Value)); 

List<DateTime> result = query.ToList(); 
1

あなたがあなたの代わりに使用するのではXElement to DateTimeから明示的なキャストを使用することができ、日付のリストを作成するために、次のステートメントを使用することができますがDateTime.Parse

var dates = xml.Root.Elements("Item") 
        .Select(e => (DateTime)e.Attribute("Date")).ToList(); 
関連する問題