Я получаю ошибку InvalidOperation при десериализации строки XML в объект класса - PullRequest
0 голосов
/ 16 февраля 2019

Я постоянно получаю ошибку invalidOperation при преобразовании XML в объект класса.

Я пытался: десериализовать XML-строку в класс , но она не работала

Ниже приведен мой код для десериализации

XElement categoryList = XElement.Load(stream);
XNamespace ebayns = "urn:ebay:apis:eBLBaseComponents";
XElement list =  categoryList.Descendants(ebayns + "CategoryArray").First();  

XmlSerializer xmlSerializer = new XmlSerializer(typeof(CategoryList));
using (StringReader stringReader = new StringReader(list.ToString()))
{
        CategoryList _categoryNode = (CategoryList)xmlSerializer.Deserialize(stringReader);
}

нижемоя модель CategoryList

[XmlRoot("CategoryArray")]
public class CategoryList
{
    [XmlElement("Category")]
    public List<Category> categoryList = new List<Category>();

}

Пример XML-запроса

<CategoryArray xmlns="urn:ebay:apis:eBLBaseComponents">
    <Category xmlns="urn:ebay:apis:eBLBaseComponents">
        <CategoryID>-1</CategoryID>
        <CategoryLevel>0</CategoryLevel>
        <CategoryName>Root</CategoryName>
        <CategoryParentID>0</CategoryParentID>
        <LeafCategory>false</LeafCategory>
    </Category>
    <Category xmlns="urn:ebay:apis:eBLBaseComponents">
        <CategoryID>20081</CategoryID>
        <CategoryLevel>1</CategoryLevel>
        <CategoryName>Antiques</CategoryName>
        <CategoryParentID>-1</CategoryParentID>
        <CategoryNamePath>Antiques</CategoryNamePath>
        <CategoryIDPath>20081</CategoryIDPath>
        <LeafCategory>false</LeafCategory>
    </Category>
</CategoryArray>

Мне нужно получить список объектов класса категории

...