Как создать класс С#, который необходимо использовать для десериализации XML, как указано ниже.
<?xml version = "1.0" encoding = "utf-8"?>
<XML>
<StatusCode>-2</StatusCode>
<Warnings />
<Errors>
<Error> Debtor #2 Invalid Postal Code</Error>
<Error>Invalid lien term</Error>
</Errors>
</XML>
<Предупреждения/> также были похожи на <Ошибки/>.





Попробуйте следующее:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
namespace ConsoleApplication110
{
class Program
{
const string INPUT_FILENAME = @"c:\temp\test.xml";
const string OUTPUT_FILENAME = @"c:\temp\test1.xml";
static void Main(string[] args)
{
XmlReader reader = XmlReader.Create(INPUT_FILENAME);
XmlSerializer serializer = new XmlSerializer(typeof(XML));
XML xml = (XML)serializer.Deserialize(reader);
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
XmlWriter writer = XmlWriter.Create(OUTPUT_FILENAME, settings);
serializer.Serialize(writer, xml);
}
}
public class XML
{
public int StatusCode { get; set; }
public string Warnings { get; set; }
[XmlArray("Errors")]
[XmlArrayItem("Error")]
public List<string> errors { get; set; }
}
}
Чтобы создать классы на основе XML, скопируйте XML в буфер обмена, затем в Visual Studio 2017 выберите пункт меню: Изменить/Специальная вставка/Вставить XML как классы.
Ваш класс должен выглядеть так:
public class ErrorClass
{
struct Error
{
public String message;
}
struct Warning
{
public String message;
}
int StatusCode;
List<Error> Errors;
List<Warning> Warnings;
}
Структура ошибок и предупреждений может содержать больше элементов, которые не используются в опубликованном вами примере.
Что вы пробовали? Кстати, тег
<Warnings />предполагает, что коллекция предупреждений существует, но она может быть пустой.