현재 외부 MVC 컨트롤러를 호출하고 XML을 전달하는 두 개의 매개 변수를 전달합니다. 결과 현재 내가 수행하는 작업은 다음과 같습니다. XML 사용 경험이 있는지 확인하십시오. 거의 0반환 된 XML 결과를 루프하고 값을 할당합니다.
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 for 루프는 이와 유사합니다.
foreach (var item in responce)
{
string urn = item["URN"].InnerText;
string name = item["NAME"].InnerText;
string address = item["ADDRESS"].InnerText;
}
다시 한번 이것이 작동하면 모델 바인딩으로 문자열을 대체합니다. 모든 도움을 주실 수 있습니다
유형을 따릅니다. responce는 문자열입니다. 따라서 항목은 문자열의 문자 일뿐입니다. –
@JustinPihony 무슨 뜻인지 미안해? –
https://stackoverflow.com/questions/4842038/streamreader-and-reading-an-xml-file이 문제를 해결해야합니다. 지금 당장 당신은 평범한 문자열을 읽고 있습니다. –