简体   繁体   English

在RestSharp中反序列化嵌套的XML列表

[英]Deserializing nested XML list in RestSharp

I have response in XML in the following format: 我有以下格式的XML响应:

<response>
  <projects>
    <project>...</project>
    <project>...</project>
    <project>...</project>
    <project>...</project>
    <project>...</project>
    <project>...</project>
    <project>...</project>
    <project>...</project>
    <project>...</project>
    <project>...</project>
    <project>...</project>
  </projects>
</response>

I have created a 'Project' class with attributes that match the names of the tags inside the <project> tag of the XML. 我创建了一个'Project'类,其属性与XML的<project>标记内的标记名称匹配。 Since the <projects> tag contains a list of <project>s, I was trying to execute the request on the RestSharp client as: 由于<projects>标记包含<project>的列表,因此我试图以如下方式在RestSharp客户端上执行请求:

var projectList = client.Execute<List<Project> >(request);

However, projectList.Data shows null. 但是,projectList.Data显示为空。 This makes sense because the deserializer wasn't able to find a 'Projects' class. 这是有道理的,因为反序列化器无法找到“ Projects”类。 But in segue, my question is: how do I get a list of <project>s when it is nested in another tag <projects>? 但是在segue中,我的问题是:当<project>嵌套在另一个标签<projects>中时,如何获取它的列表?

In your Response class, have a property public List<Project> Projects { get; set; } 在您的Response类中,具有一个属性public List<Project> Projects { get; set; } public List<Project> Projects { get; set; } public List<Project> Projects { get; set; } . public List<Project> Projects { get; set; }

This way, it will map the <projects> to your property Projects . 这样,它将<projects>映射到您的属性Projects

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM