次の xml ファイルを検討してください。
<UPDATES xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EXAMPLES>
<EXAMPLE>
<EXAMPLEID>1234</EXAMPLEID>
<TYPES>
<TYPE>
<TYPEID>0</TYPEID>
<FILES>
<FILE>
<FILENAME>fileName1</FILENAME>
<URL>http://somehwere</URL>
<MD5>2d774faa197fe87a49db0709048b82f0</MD5>
</FILE>
<FILE>
<FILENAME>fileName2</FILENAME>
<URL>http://somehwere</URL>
<MD5>1232132135a4dfseaf321daf51eaf321</MD5>
</FILE>
</FILES>
</TYPE>
</TYPES>
</EXAMPLE>
<EXAMPLE>
<EXAMPLEID>5678</EXAMPLEID>
<TYPES>
<TYPE>
<TYPEID>0</TYPEID>
<FILES>
<FILE>
<FILENAME>fileName3</FILENAME>
<URL>http://somehwere</URL>
<MD5>1232132135a4dfseaf321daf51eaf321</MD5>
</FILE>
<FILE>
<FILENAME>fileName4</FILENAME>
<URL>http://somehwere</URL>
<MD5>1232132135a4dfseaf321daf51eaf321</MD5>
</FILE>
</FILES>
</TYPE>
</TYPES>
</EXAMPLE>
</EXAMPLES>
ファイル名と md5 を抽出したいのですが、特定の exampleid だけを対象としています。
これまでのところ、必要な情報を抽出するために、次の情報を取得しています。
var files = xDocument.Descendants("FILE")
.Select(
node => new {FileName = node.Element("FILENAME"), Hash = node.Element("MD5")})
.Distinct();
これは、タグを含む情報を返します。node.Element("FILENAME").Value を実行すると、null 参照例外が発生します。
私が問題を抱えているのは Where 句を追加しようとしているときです。
exampleid 1234 に関連付けられたファイル名と md5 が返されるように指定するにはどうすればよいですか?