2013-02-05 2 views
1

웹 서비스를 호출하면 실제 XML이 아닌 "System.Xml.XmlDocument"문자열 만 반환됩니다. 실제 XML 문서를 반환하려면 무엇을 변경해야합니까?Webservice는 System.Xml.XmlDocument 문자열 만 반환합니다.

public XmlDocument GetCommoditiesXmlDocument() { 
      XmlDocument xdoc = new XmlDocument(); 
      StringWriter sw = new StringWriter(); 
      XmlTextWriter xtw = new XmlTextWriter(sw); 

      //gets XML as XmlElement 

      quotes.WriteTo(xtw); 
      xdoc.LoadXml(sw.ToString()); 
      return xdoc; 
     } 

(가 중요한 경우 MVC3) 내가

답변

2

ASP.Net MVC는 HTTP 응답 내로 XmlDocument를 직렬화하는 방법을 알고하지 않습니다 .NET 4.0을 사용하고 있습니다.

return Content(sw.ToString(), "text/xml"); 
+0

내가 이해가 확실하지 않다 :

대신 직접 XML 소스를 반환해야합니다. 사실 XML을 내 서비스에 XmlElement로 전달합니다. 그것을 HTTP 응답으로 직렬화하는 방법이 있다면? –

+0

+1 Content 클래스가 Web Forms의 마스터 페이지와 함께 사용되는 것으로 보이지만 (올바른 것은 아니지만) 올바른 트랙에서 나를 설정해주었습니다. 나는 'Response.ContentType = "text/xml";' 고마워요. –

+0

@Llepwryd : 컨트롤러에서'Content()'_method_를 사용하십시오. – SLaks

관련 문제