我在将xml字符串反序列化为类对象时收到InvalidOperation错误

时间:2019-02-16 15:34:39

标签: c# xml ebay

在将XML转换为类对象时,我不断收到invalidOperation错误。

我尝试过:Deserialize XML String into Class,但是没有用

下面是我的反序列化代码

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>

我需要获取类别类对象的列表

0 个答案:

没有答案