我有一个WebGet方法,如何获得xml结果?

时间:2010-09-07 08:06:31

标签: c# xml http rest

我有这个特定的方法(下面的代码段),我希望得到它的XML结果。

服务器

[OperationContract]
[WebGet(UriTemplate = "getcustomerschema/userCode={userCode}/password={password}",
     ResponseFormat= WebMessageFormat.Xml, 
     RequestFormat= WebMessageFormat.Xml, 
     BodyStyle= WebMessageBodyStyle.Wrapped)]
public DataSet GetCustomerSchema(string userCode, string password)
{
     //method     
}

客户端

using (HttpResponseMessage response = m_RestHttpClient.Get("getcustomerschema/userCode=admin/password=admin"))
{
   //how can I get the xml resuly from the httpResponseMessage?
}

由于

3 个答案:

答案 0 :(得分:1)

使用HttpResponseMessage,您可以通过“Content”属性访问xml响应。

HttpResponseMessage resp = http.Get("friends_timeline.xml");
resp.EnsureStatusIsSuccessful();
XElement document = resp.Content.ReadAsXElement();

来自:http://msdn.microsoft.com/en-us/library/ee391967.aspx

答案 1 :(得分:0)

为什么直接需要xml结果?

您可以使用Fiddler查看从Web服务收到的xml,如果这是您所追求的。

也可以在“添加Web引用”对话框中直接从Visual Studio调用Web服务。

答案 2 :(得分:0)

DataSet dst = new DataSet(); dst.ReadXml(response.Content.ReadAsStream(),XmlReadMode.ReadSchema);

这就是我将HttpResponse转换为数据集的方法然后如果我需要XML我只是从数据集中提取它

希望这有助于其他REST开发人员