C# XML:反序列化数组中断开连接的单个元素

C# XML:反序列化数组中断开连接的单个元素,c#,xml,C#,Xml,我有一些正在使用的XML返回一个对象数组,但在数组的最顶端有两个断开连接的对象,它们包含请求是否有效、有多少结果等信息。我的问题是,我不知道如何将这些对象反序列化为我需要的属性。以下是我到目前为止得到的XML和代码: XML <ItemSearchResponse> <Items> <Request> <IsValid>True</IsValid> </Request

我有一些正在使用的XML返回一个对象数组,但在数组的最顶端有两个断开连接的对象,它们包含请求是否有效、有多少结果等信息。我的问题是,我不知道如何将这些对象反序列化为我需要的属性。以下是我到目前为止得到的XML和代码:

XML

<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; }
}