Первое, что нужно понять с помощью веб-сервисов .Net, это то, что они использовали протокол SOAP.Это означает, что любые типы, которые вы возвращаете через веб-метод, будут сериализованы в XML.Поэтому каждый возвращаемый объект будет строкой XML, передаваемой обратно вызывающей стороне.
Если вы все еще просто хотите вернуть XML в качестве фактического строкового значения, создайте метод на стороне сервера в своем веб-сервисе следующим образом:
[WebMethod]
public string ReturnXMLString() {
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml("<root><item>Hello World</item></root>");
return xmlDoc.OuterXML;
}
Если, однако, вы пытаетесь вернуть фактический XML вызывающей стороне, просто позвольте .Net позаботиться о сериализации XML следующим образом:
[WebMethod]
public XmlDocument ReturnXMLString() {
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml("<root><item>Hello World</item></root>");
return xmlDoc;
}
Наконец, если вы просто ищетеXML-ответ без упаковки протокола SOAP и сериализации ответа в виде XML, затем попробуйте ответ страницы со страницы на заказ:
void Page_Load(object sender, EventArgs e) {
XmlDocument xmlDoc= new XmlDocument();
xmlDoc.LoadXml("<root>Hello World</root>");
Response.ContentType ="text/xml";
xmlDoc.Save(Response.Output);