可以说我有一个只有三个属性的对象:
using RestSharp.Deserializers;
using System;
[DeserializeAs(Name = "item")]
public class MyClass
{
public int Id { get; set; }
public string Name { get; set; }
[DeserializeAs(Name = "id")]
public int IdFromAPI { get; set; }
}
和类似的XML:
<List>
<timestamp>2018-09-20T10:18:14.070</timestamp>
<contents>
<item>
<id>1</id>
<name>object1</name>
</item>
<item>
<id>2</id>
<name>object2</name>
</item>
</contents>
<count>2</count>
</List>
我使用RestRequest(Method.GET)获取数据,然后使用
反序列化它们RestClient client = new RestClient("SomeURI");
RestRequest request = new RestRequest("someResource", Method.GET);
request.AddHeader(...)
...
List<MyClass> myClassList = client.Execute<List<MyClass>>(request)?.Data;
我需要从XML到
一切正常,但Id和IdFromAPI获得相同的值(来自id元素)。
我如何忽略财产ID?
[NonSerialized]仅对字段声明有效,对属性无效。 我在RestSharp库中找不到任何[XmlIgnore],并且[System.Xml.Serialization.XmlIgnore]无法与RestSharp反序列化一起使用。 (作为最后的选择,我可以使用其他解串器)
信息:我在.NET Framework 4和RestSharp 105.2.3版本上