2008年02月20日

LINQ to XML その12−配列からの変換

   このエントリーをはてなブックマークに追加 Clip to Evernote
こんどは、前回の逆のコード

配列のデータを XMLに変換するコードです。
こちらも、LINQを使います。

 var x = new XElement("People",
from p in people
select
new XElement("Person",
new XAttribute("IsReal", p.IsReal),
new XElement("Name",p.Name),
new XElement("Age",p.Age)
)
);
x.Save("people.xml");


かなり簡潔に書けますね。
XElement のコンストラクタの第2引数に、クエリ式を書けるってのがミソですね。
これで、「エレメントオブジェクトを生成し、ノードに追加」っていう面倒なコードを書かずに済みます。

ちなみに、Person配列は、以下のようなデータです。

static Person[] people = {
new Person { Name="徳川家康", Age=35, IsReal=true },
new Person { Name="織田信長", Age=44, IsReal=true },
new Person { Name="明智小五郎", Age=39, IsReal=false },
new Person { Name="石田三成", Age=18, IsReal=true },
new Person { Name="明智光秀", Age=52, IsReal=true },
new Person { Name="両津勘吉", Age=40, IsReal=false },
};


Linq to XML その11



 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/51411328