В настоящее время я вызываю внешний контроллер MVC и передаю два параметра, которые возвращают XML. Результат того, как я сейчас это делаю, выглядит следующим образом, имейте в виду, что мой опыт работы с XML в значительной степени равен 0
try
{
var url = ConfigurationManager.AppSettings["url"] + String.Format("/ws/RetailerBrandsFiltered?postcode={0}&countryCode={1}", model.Postcode, model.SelectedCountry);
// Create the request to call the external mvc controller to retrieve the retailers
var req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "GET";
req.ContentType = "xml";
// Do the request to external controller
var stIn = new StreamReader(req.GetResponse().GetResponseStream());
var responce = stIn.ReadToEnd();
foreach (var item in responce)
{
string urn = item["URN"].InnerText
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
Я пытаюсь просмотреть ответ и получить узлы XML и назначить их модели (которую я еще не реализовал), но для тестирования я пытаюсь получить первое значение и присвоить его строке.
Что не работает, сообщение «Невозможно применить индексацию к типу char», в идеале мой цикл for будет выглядеть примерно так.
foreach (var item in responce)
{
string urn = item["URN"].InnerText;
string name = item["NAME"].InnerText;
string address = item["ADDRESS"].InnerText;
}
Опять же, как только это сработает, я заменю строку на привязку модели. любая помощь будет оценена