Ошибка при десериализации XML C#

278
13 декабря 2017, 20:34

При попытке десериализации XML происходит ошибка. Прошу помощи чтобы разобраться с причиной ошибки.

Необработанное исключение типа "System.InvalidOperationException" в 
System.Xml.dll                                                       
Дополнительные сведения: В документе XML (1, 1) присутствует ошибка.

Собственно есть веб-сервис, котором на вход я подаю список ИНН для получения потом обновлений по ним. При постановке на наблюдение, веб-сервис отдает ответ с ИНН и ОГРН клиентов, которые успешно поставились на наблюдение. Делаю это я следующим образом: 1) Получил xsd схему ответа

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:complexType name="ArrayOfmonListItem">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="monListItem" nillable="true" type="monListItem"/>
</xs:sequence>
</xs:complexType>
<xs:element name="ArrayOfmonListItem" nillable="true" type="ArrayOfmonListItem"/>
<xs:complexType name="monListItem">
<xs:sequence>
<xs:element minOccurs="0" name="ogrn" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="inn" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

С помощью утилиты xsd.exe от VS 2015 перевел в классы.

Вот код моей программы. Сразу говорю, что ссылка на веб-сервис не рабочая, т.к. я не могу выложить свой купленный ключ доступа.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
using System.IO;
using System.Net;
using System.Collections.Specialized;

namespace Kontur
{
//--------------------------------------------------------------------------
----
// <auto-generated>
//     Этот код создан программой.
//     Исполняемая версия:4.0.30319.42000
//
//     Изменения в этом файле могут привести к неправильной работе и будут 
потеряны в случае
//     повторной генерации кода.
// </auto-generated>
//--------------------------------------------------------------------------
----
using System.Xml.Serialization;
// 
// Этот исходный код был создан с помощью xsd, версия=4.6.1055.0.
// 

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = 
true)]
public partial class ArrayOfmonListItem
{
    private monListItem[] monListItemField;
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute("monListItem", IsNullable = true)]
    public monListItem[] monListItem
    {
        get
        {
            return this.monListItemField;
        }
        set
        {
            this.monListItemField = value;
        }
    }
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class monListItem
{
    private string ogrnField;
    private string innField;
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(IsNullable = true)]
    public string ogrn
    {
        get
        {
            return this.ogrnField;
        }
        set
        {
            this.ogrnField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(IsNullable = true)]
    public string inn
    {
        get
        {
            return this.innField;
        }
        set
        {
            this.innField = value;
        }
    }
}

    class Program
{
    static void Main(string[] args)
    {

        WebRequest request = WebRequest.Create("https://focus-api.kontur.ru/api3/monList?key=123124124&append=False ");
        request.Method = "POST";
        string postData = "6663003127,5260059340";
        byte[] byteArray = Encoding.UTF8.GetBytes(postData);
        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = byteArray.Length;
        Stream dataStream = request.GetRequestStream();
        dataStream.Write(byteArray, 0, byteArray.Length);
        dataStream.Close();
        WebResponse response = request.GetResponse();
        Console.WriteLine(((HttpWebResponse)response).StatusDescription);
        dataStream = response.GetResponseStream();
        StreamReader reader = new StreamReader(dataStream);
        XmlSerializer serializer = new 
XmlSerializer(typeof(ArrayOfmonListItem));
        monListItem deserialized = 
(monListItem)serializer.Deserialize(reader);
        //var test = deserialized.monListItem[0].inn;
        //string responseFromServer = reader.ReadToEnd();
        // Display the content.
         //Console.WriteLine(test);
        // Clean up the streams.
        reader.Close();
        dataStream.Close();
        response.Close();
        Console.ReadKey();
    }
}
}
READ ALSO
Проблема с подключением aceoledb в visual studio

Проблема с подключением aceoledb в visual studio

Здравствуйте, необходимо в C# программно получать доступ к базам данных MS Access, которые будут лежать в соответствующей папке

199
Не работает клавиша Space в игре

Не работает клавиша Space в игре

Отладчик в помощьНо, судя по коду, у тебя ошибка в методе public void Shoot() Ты сбрасываешь таймер только при bulletDelay == 0, но первый же вызов задаст его...

204
Реализация быстрой сортировки [требует правки]

Реализация быстрой сортировки [требует правки]

Без команд QuickSort, без встроенных функцией, рекурсивноhttps://ru

149
Странный баг/лаг в VS C# при загрузке xml-документа

Странный баг/лаг в VS C# при загрузке xml-документа

Ситуация: загружаю два svg-документа, один из моего редактора, второй из стороннегопервый грузится как надо, информация с него считывается,...

164