<?xml version="1.0" encoding="UTF-8"?>
<Pit>
<ROW ExecutionID="1366617710" Date="2011-11-09 00:04:04.303" AssertionName="Check for critical conditions" />
<ROW ExecutionID="1366619608" Date="2011-11-09 00:04:16.893" AssertionName="Check for critical conditions" />
</Pit>
特定のexecutionIDに基づいて日付値を取得しようとしています。属性値が必要です
以下のクエリを使用してみましたが、「例外」に達しました。それはかなりシンプルですが、なぜ失敗するのか分かりません。
例外メッセージは、あなたのロジックオフ残りは、彼らが<ROW>
な要素であると仮定し、Object reference not set to an instance of an object.
public static string GetRowError(XDocument xmlDoc, string executionID)
{
string resultType = string.Empty;
try
{
resultType = (from testResult in xmlDoc.Elements("Pit")
where
testResult != null &&
testResult.Attribute("ExecutionID").Value.Equals(executionID, StringComparison.CurrentCultureIgnoreCase) == true
select testResult.Attribute("Date").Value).FirstOrDefault();
}
catch (Exception ex)
{
resultType = ex.ToString();
}
return resultType;
}
例外を通知するといいでしょう。加えて、boolを返すのと同じではありませんか?なぜあなたは最後に==本当ですか? – FailedDev
"オブジェクト参照がオブジェクトのインスタンスに設定されていません。" 実行IDがパラメータ – Navyseal
の実行IDと等しいかどうかをチェックするために "== true"を使用します。デバッグまたは 'if(xmlDoc == null)を返すことによって、' xmlDoc'がnullであることを確認します。document null " ; ' –