Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 反序列化xamarin表单上rest wcf服务返回的xml_C#_Wcf_Xamarin_Xamarin.forms - Fatal编程技术网

C# 反序列化xamarin表单上rest wcf服务返回的xml

C# 反序列化xamarin表单上rest wcf服务返回的xml,c#,wcf,xamarin,xamarin.forms,C#,Wcf,Xamarin,Xamarin.forms,如何解析从rest服务返回的xml节点。我已经在xamarin pcl跨平台上编程了,我使用了许多策略,但这里没有一个可用的是我的工作方法。我希望解析返回的字符串,并将节点的值绑定到xamarin.forms的listview控件 ps:xdocument不适用于我的案例,xmldocument无法输入代码 还有,抱歉说得太多了 public async Task<string> httpRequest(string url) { Uri uri = new Uri(url)

如何解析从rest服务返回的xml节点。我已经在xamarin pcl跨平台上编程了,我使用了许多策略,但这里没有一个可用的是我的工作方法。我希望解析返回的字符串,并将节点的值绑定到xamarin.forms的listview控件

ps:xdocument不适用于我的案例,xmldocument无法输入代码 还有,抱歉说得太多了

public async Task<string> httpRequest(string url)
{
    Uri uri = new Uri(url);
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
    string received;

    using (var response = (HttpWebResponse)(await 
    Task<WebResponse>.Factory.FromAsync(request.BeginGetResponse,request.EndGetResponse, null)))
    {
        using (var responseStream = response.GetResponseStream())
        {
          using (var sr = new StreamReader(responseStream))
          {
              received = await sr.ReadToEndAsync();
          }
        }
    }
}
公共异步任务httpRequest(字符串url) { Uri=新的Uri(url); HttpWebRequest请求=(HttpWebRequest)WebRequest.Create(uri); 收到字符串; 使用(var response=(HttpWebResponse)(wait Task.Factory.fromsync(request.BeginGetResponse,request.EndGetResponse,null))) { 使用(var responseStream=response.GetResponseStream()) { 使用(var sr=新的StreamReader(responseStream)) { 已接收=等待sr.ReadToEndAsync(); } } } }
异步任务反序列化SexmlStringFromURL(字符串url)
{
var xmlstring=await-httpRequest(url);
XmlSerializer serializer=新的XmlSerializer(typeof(List));//初始化序列化程序
列表反序列化列表;
deserializedList=(列表)serializer.Deserialize(xmlstring);
返回反序列化列表;
}
//使用属性为您的类型创建一个类。
公共类你的类型
{
[XmlElement(“xml中的属性名称”)]
公共字符串属性_One{get;set;}
....
}

您的问题解决了吗?是的,非常感谢,我刚刚将检索到的数据作为json交付,并使用newtonsoft库对单行var list=JsonConvert.DeserializeObject(jsonString)中的数据进行反序列化;超级,享受:)
async Task<your_type> DeserialseXMLStringFromURL(string url)
{
    var xmlstring = await httpRequest(url);
    XmlSerializer serializer = new XmlSerializer(typeof(List<your_type>));//initialises the serialiser
    List<your_type> deserializedList;
    deserializedList = (List<your_type>)serializer.Deserialize (xmlstring);
    return deserializedList;
}

// Create a class for your type with properties.

public class your_type
{
    [XmlElement("property_name_in_xml")]
    public string Property_One{ get; set;}

   ....
}