将 HttpResponseMessage 转换为 XML 对象
Convert HttpResponseMessage To XML to Object
我已经为我的对象定义了序列化 idAssignmentResult
。但是如何将 XML 的 HttpResponseMessage 转换为 class?我收到一个错误:
Value of type 'System.Net.Http.HttpContent' cannot be converted to
'System.Xml.XmlReader'
我会做 vb.net 和 c#
vb.net
Dim response As New HttpResponseMessage()
Try
Using client As New HttpClient()
Dim request As New HttpRequestMessage(HttpMethod.Post, "url")
request.Content = New StringContent(stringWriter.ToString, Encoding.UTF8, "application/xml")
response = client.SendAsync(request).Result
End Using
Catch ex As Exception
lblerror.Text = ex.Message.ToString
End Try
Dim responseString = response.Content
Dim xmls As New XmlSerializer(GetType(idAssignmentResult))
Dim assignmentResult As New idAssignmentResult()
xmls.Deserialize(responseString, assignmentResult) /// cannot convert HttpContent to XmlReader
c#
StringWriter stringWriter = new StringWriter();
XmlSerializer serializer = new XmlSerializer(typeof(personV3R));
personV3R person = new personV3R(); serializer.Serialize(stringWriter, person);
HttpResponseMessage response = new HttpResponseMessage();
try
{
using (HttpClient client = new HttpClient())
{
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "url");
request.Content = new StringContent(stringWriter.ToString, Encoding.UTF8, "application/xml");
response = client.SendAsync(request).Result;
}
}
catch (Exception ex)
{
lblerror.Text = ex.Message.ToString;
}
var responseString = response.Content;
XmlSerializer xmls = new XmlSerializer(typeof(idAssignmentResult));
idAssignmentResult assignmentResult = new idAssignmentResult();
xmls.Deserialize(responseString, assignmentResult);
你应该这样做
1.
var responseString = await response.Content.ReadAsStringAsync();
2.
var assignmentResult =
(idAssignmentResult)xmls.Deserialize(new StringReader(responseString));
我已经为我的对象定义了序列化 idAssignmentResult
。但是如何将 XML 的 HttpResponseMessage 转换为 class?我收到一个错误:
Value of type 'System.Net.Http.HttpContent' cannot be converted to 'System.Xml.XmlReader'
我会做 vb.net 和 c#
vb.net
Dim response As New HttpResponseMessage()
Try
Using client As New HttpClient()
Dim request As New HttpRequestMessage(HttpMethod.Post, "url")
request.Content = New StringContent(stringWriter.ToString, Encoding.UTF8, "application/xml")
response = client.SendAsync(request).Result
End Using
Catch ex As Exception
lblerror.Text = ex.Message.ToString
End Try
Dim responseString = response.Content
Dim xmls As New XmlSerializer(GetType(idAssignmentResult))
Dim assignmentResult As New idAssignmentResult()
xmls.Deserialize(responseString, assignmentResult) /// cannot convert HttpContent to XmlReader
c#
StringWriter stringWriter = new StringWriter();
XmlSerializer serializer = new XmlSerializer(typeof(personV3R));
personV3R person = new personV3R(); serializer.Serialize(stringWriter, person);
HttpResponseMessage response = new HttpResponseMessage();
try
{
using (HttpClient client = new HttpClient())
{
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "url");
request.Content = new StringContent(stringWriter.ToString, Encoding.UTF8, "application/xml");
response = client.SendAsync(request).Result;
}
}
catch (Exception ex)
{
lblerror.Text = ex.Message.ToString;
}
var responseString = response.Content;
XmlSerializer xmls = new XmlSerializer(typeof(idAssignmentResult));
idAssignmentResult assignmentResult = new idAssignmentResult();
xmls.Deserialize(responseString, assignmentResult);
你应该这样做
1.
var responseString = await response.Content.ReadAsStringAsync();
2.
var assignmentResult =
(idAssignmentResult)xmls.Deserialize(new StringReader(responseString));