次のような構造 (部分的に) を持つ既存の XML ドキュメントを使用しています。
<Group>
<Entry>
<Name> Bob </Name>
<ID> 1 </ID>
</Entry>
<Entry>
<Name> Larry </Name>
</Entry>
</Group>
次のように、LINQ to XML を使用して XDocument をクエリし、これらすべてのエントリを取得しています。
var items = from g in xDocument.Root.Descendants("Group").Elements("Entry")
select new
{
name = (string)g.element("Name").Value,
id = g.Elements("ID").Count() > 0 ? (string)g.Element("ID").Value : "none"
};
「ID」要素は常にそこにあるとは限らないため、これに対する私の解決策は上記の Count() ジャズでした。しかし、誰かがこれを行うためのより良い方法を持っているかどうか疑問に思っています。私はまだこの新しいものに慣れてきており、現在行っている方法よりも良い方法があるのではないかと考えています。
私が望むことを行うためのより良い/より好ましい方法はありますか?