C# XML:反序列化数组中断开连接的单个元素
我有一些正在使用的XML返回一个对象数组,但在数组的最顶端有两个断开连接的对象,它们包含请求是否有效、有多少结果等信息。我的问题是,我不知道如何将这些对象反序列化为我需要的属性。以下是我到目前为止得到的XML和代码: XMLC# XML:反序列化数组中断开连接的单个元素,c#,xml,C#,Xml,我有一些正在使用的XML返回一个对象数组,但在数组的最顶端有两个断开连接的对象,它们包含请求是否有效、有多少结果等信息。我的问题是,我不知道如何将这些对象反序列化为我需要的属性。以下是我到目前为止得到的XML和代码: XML <ItemSearchResponse> <Items> <Request> <IsValid>True</IsValid> </Request
<ItemSearchResponse>
<Items>
<Request>
<IsValid>True</IsValid>
</Request>
<TotalResults>90</TotalResults>
<TotalPages>9</TotalPages>
<Item />
...
</Items>
</ItemSearchResponse>
正如您在我的代码中所看到的,我试图将单个对象拉出,并将它们作为属性应用于我的
响应对象,因为我认为如果它们坐在那里会更有意义。那么,如何将ItemSearchResponse.Items.Request.IsValid
转换为Response.IsValid
?对于TotalResults
和TotalPages
属性,同样的问题?除了编写大量自定义反序列化代码(例如在类中实现IXmlSerializable
),您是否考虑过定义属性来遍历数据(即public bool IsValid{get}{return Items.Request.IsValid;}
)?是的,我尝试添加一个Request
对象作为属性,但它没有被反序列化,并且一直返回为null。可能我把它搞砸了,Idk。。。
public class Response {
[XmlArray(ElementName = "Items")]
public Item[] Items { get; set; }
public bool IsValid { get; set; }
public int TotalResults { get; set; }
public int TotalPages { get; set; }
}