Я пытаюсь сравнить значения моего словаря и отобразить мои результаты следующим образом.
Несоответствие значений поля для поля: Ожидаемое: 001 Фактическое: 002
Несоответствие значений поля для поля: Ожидаемое: 003 Фактическое: 002
Я могу получить разницу для каждой строки в моем словаре, но я не уверен, как отобразить мой результат в списке строк.
Вот что я попробую
public static string ValidateMvpFields(string value1, Dictionary<string, ValueMap> value2)
{
var xmlDoc = new XmlDocument();
xmlDoc.LoadXml(value1);
foreach (var item in value2.Keys)
{
try
{
var Val1 = xmlDoc.SelectSingleNode(responseParameters[item].XPath).InnerText;
var Val2 = responseParameters[item].Value;
if (!Val1.Trim().Equals(Val2.Trim()))
{
var results = ErrorMessage = $"Mvp Field Values Mismatch For Field: {item} Expected:{Val1} Actual:{Val2}";
string result = null;
result += String.Join(Environment.NewLine, results);
}
continue;
}
catch (Exception ex)
{
var results = ErrorMessage = $"Invalid Xpath: {value2[item].XPath} For Field:{item} Error:{ex.Message}";
/*return results*/
;
}
}
return "";
}
Вот пример моего словаря
public static Dictionary<string, ValueMap> Example = new Dictionary<string, ValueMap>
{
{"Example1", new ValueMap { XPath = "", Value = "5123"} },
{"Example2", new ValueMap { XPath ="", Value = "123"} },
}