2007年12月26日

Linq to XML その4

   このエントリーをはてなブックマークに追加 Clip to Evernote
Linq to XML その1
Linq to XML その2
Linq to XML その3

属性は、どうやって取得するのでしょうか、そのサンプルを載せます。

XDocument xdoc = XDocument.Load("people.xml");
foreach (var xperson in xdoc.Root.Elements()) {
bool isReal = (bool)xperson.Attribute("IsReal");
if (isReal) {
XElement xname = xperson.Element("Name");
XElement xage = xperson.Element("Age");
Console.WriteLine(xname.Value + ":" + xage.Value + "歳");
}
}



クエリ式を使うと

XDocument xdoc = XDocument.Load("people.xml");
var query = from xperson in xdoc.Root.Elements()
where (bool)xperson.Attribute("IsReal") == true
select new {
Name = xperson.Element("Name").Value,
Age = (int)xperson.Element("Age")
};
foreach (var p in query)
Console.WriteLine(p.Name + ":" + p.Age + "歳");

となります。

Attribute("IsReal")メソッドで、属性を取得し、boolにキャストしています。


この記事へのコメント
はじめまして。貴ブログサイトを拝見し、誠に勝手では
ございますが、掲載させていただきました。
http://www.artput.net/joblog-it.html

差し支えなければ、リンクを貼っていただけませんか?
タイトル:仕事コトログ
URL http://www.artput.net/joblog.html

ご要望、掲載拒否などの場合、御連絡いただけると幸いです。
『仕事コトログ』運営者 エボラン
Posted by 仕事コトログ at 2007年12月28日 10:35
LINQ to XMLその5
http://blog.livedoor.jp/gushwell/archives/51335356.html
Posted by LINQ to XMLその5 at 2008年04月19日 20:14
 

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

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