RestSharp反序列化列表中的列表
我在使其工作时遇到一些麻烦:
我的 xml 看起来像:
<root>
<item>
<id></id>
<name></name>
<CollectionProp>
<item>
<id></id>
<name></name>
</item>
</CollectionProp>
</item>
</root>
我的类看起来像:
public class Item
{
public int id { get; set; }
public string name { get; set; }
public List<CollectionProp> CollectionProp { get; set; }
}
另一个:
public class CollectionProp
{
public int id { get; set; }
public string name { get; set; }
}
我还尝试围绕 CollectionProp 包装另一个类
CollectionPropCollection : List<CollectionProp>
还尝试过:带有/或带有 CollectionProp 类型的属性“item”的 CollectionPropCollection 类。
这是我的执行语句:
var result = client.Execute<List<Item>>(request);
编辑 8 月 19 日:
好吧,我的帖子可能没有清楚地指出我的问题。 所以现在我想我将问题分解为以下内容:
XmlDeserializer 在区分下面的项目和下面的项目时存在问题,
因此响应有 2 个项目,每个项目有 3 个项目,我的反序列化结果有 8 个对象。第一个带有值,接下来的 3 个属性设置为 null,第四个带有值等等......
知道我如何以如下方式解决这个问题: item under 需要解析为 objectA,item under ,其中是 root 下 item 的子项,需要解析为 objectB 吗?
i have some trouble getting this to work:
my xml looks like:
<root>
<item>
<id></id>
<name></name>
<CollectionProp>
<item>
<id></id>
<name></name>
</item>
</CollectionProp>
</item>
</root>
my class looks like:
public class Item
{
public int id { get; set; }
public string name { get; set; }
public List<CollectionProp> CollectionProp { get; set; }
}
and another one:
public class CollectionProp
{
public int id { get; set; }
public string name { get; set; }
}
i also tried to wrap another class around CollectionProp
CollectionPropCollection : List<CollectionProp>
Also tried: CollectionPropCollection class with / or with a property "item" of type CollectionProp.
here's my execute statement:
var result = client.Execute<List<Item>>(request);
EDIT Aug 19:
ok, my post may not clearly pointed out my problem.
so now i think i broke down the problem to the following:
the XmlDeserializer has a problem to distinguish between the item under and the item under
so the response has 2 items under and each has 3 items under , my deserialized result has 8 objects. the first with values, the next 3 with properties set to null, the 4th with values and so on....
any idea how i can solve this in a way like : item under needs to be parsed into objectA, item under , which is a child of item under root, needs to be parsed into objectB ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果 xml 文件是序列化的
Item
,您可以执行以下操作:UPDATE
当它是项目列表时,您只需将
typeof(Item)
替换为typeof(List- ;)
然后将其转换为List
If the xml file is a serialized
Item
you can do this:UPDATE
When it's a list of Items you just replace
typeof(Item)
withtypeof(List<Item>)
and you cast it to aList<Item>