В проекте, над которым я работаю, мне дали XML для работы, который я не могу контролировать. Мне нужно вытащить массив узлов, а также единственное свойство, которое является родственным элементом массива. (См. Образец XML ниже)
<pagination>
<total-pages>1</total-pages>
<page position="first">?i=1;q=gloves</page>
<page position="last">?i=1;q=gloves</page>
<page position="1" selected="true">?i=1;q=gloves</page>
</pagination>
В приведенном выше примере мне нужно извлечь узел total-pages в виде int и создать массив узлов страницы. У меня есть основы работы десериализатора, мне просто нужно знать, как настроить мой класс, чтобы я мог извлекать массив и int. Если я делаю следующее в моем основном классе:
[XmlArray("pagination")]
[XmlArrayItem("page", typeof(ResultsPage))]
public ResultsPage[] Pages { get; set; }
[XmlElement(ElementName = "total-pages")]
public int TotalPages { get; set; }
Я получаю массив узлов страницы, но TotalPages равно 0, а не 1. Я также попробовал следующее в своем основном классе:
[XmlElement(ElementName = "pagination")]
public Pagination Pagination { get; set; }
с подклассом
public class Pagination
{
[XmlArray]
[XmlArrayItem("page", typeof(ResultsPage))]
public ResultsPage[] Pages { get; set; }
[XmlElement(ElementName = "total-pages")]
public int TotalPages { get; set; }
}
В этом случае для TotalPages правильно задано значение 1, но массив страниц равен нулю.
Есть ли способ сделать это?