「期限」要素が期限切れになっているタスクを取得したいのです。
XML とは
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<tasks>
<task>
<title>11111</title>
<due>2012/06/18</due>
</task>
<task>
<title>2121211212</title>
<due></due>
</task>
</tasks>
私がコーディングするもの
var res = from q in xml.Root.Descendants("task")
where q.Element("due").IsEmpty == false & (Convert.ToDateTime(q.Element("due").Value)).Date < DateTime.Now.Date
select q
エラーの内容
タイプ 'System.FormatException' の例外が mscorlib.dll で発生しましたが、ユーザー コードで処理されませんでした
追加情報: 文字列は有効な DateTime として認識されませんでした。この例外のハンドラがあれば、プログラムは安全に続行できます。
---
要素「due」が空のタスクを削除すると、エラーはなくなりました。
しかし、以下のコードで空の要素をフィルタリングするだけではありませんか?!
q.Element("due").IsEmpty == false
なぜ、どのように解決するのですか?