I have problem when I'm trying to deserialize an XML to object. My XML look like:
<?xml version="1.0" encoding="utf-16"?>
<Products
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <AllProducts>
        <Product>
            <ID>8</ID>
            <GID>51280</GID>
            <Kod>RNIKAKC1.6</Kod>
            <Name>SB-800</Name>
            <Ean>0018208048014</Ean>
            <CommodityGroup>
                <ID>86</ID>
                <Name>AKCESORIA FOTO</Name>
                <Path>
                    <Category>
                        <ID>60798</ID>
                        <Name>ARCHIWALNE</Name>
                    </Category>
                </Path>
            </CommodityGroup>
         </Product>
....
Next products
...
My method code:
var MemoryStream = APIAccess.DownloadFileToStream("example.xml", "exampleContainer");
            using (MemoryStream)
            {
                MemoryStream.Position = 0;
                using (StreamReader StreamReader = new StreamReader(MemoryStream))
                {
                    XmlSerializer serializer = new XmlSerializer(typeof(CommodityGroup));
                    var products = serializer.Deserialize(StreamReader);
                }
            }
Method DownloadFileToStream is working good, because it is useful in other classes.
I'm geting error:
InvalidOperationException: Products xmlns='' was not expected.
I want to create object of a Node CommodityGroup. I've created class selecting this node, coping it and pasting in the new class like Paste Special -> XML
Attributes of this class looks like:
[Serializable()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[XmlTypeAttribute(AnonymousType = true)]
[XmlRootAttribute(Namespace = "CommodityGroup", IsNullable = false)]
I don't know to fix it. When I'm adding into XML Serializer param new XmlRootAttribute("Products"), I'm getting "0" values.
Do you have any suggestions?