Есть ли способ заполнить класс с использованием данных XML вместо JSON? Example in marc's excellent answer.XML Сериализация вместо JSON в .NET
Я хотел бы, чтобы все было как можно ближе к этому коду, за исключением ввода XML-файла вместо json.
Есть ли способ заполнить класс с использованием данных XML вместо JSON? Example in marc's excellent answer.XML Сериализация вместо JSON в .NET
Я хотел бы, чтобы все было как можно ближе к этому коду, за исключением ввода XML-файла вместо json.
Вы можете использовать :
public class Foo
{
public string Bar { get; set; }
}
class Program
{
public static void Main()
{
var serializer = new XmlSerializer(typeof(Foo));
var xml = "<Foo><Bar>beer</Bar></Foo>";
using (var reader = new StringReader(xml))
{
var foo = (Foo)serializer.Deserialize(reader);
Console.WriteLine(foo.Bar);
}
}
}
Это выглядит правильно. В прошлый раз, когда я посмотрел код сериализации, мне пришлось наложить тонны атрибутов в класс. Это не так с XmlSerializer? – 2010-07-08 06:05:21
Это будет зависеть от того, какой класс вы пытаетесь сериализовать/десериализовать в структуру XML, но атрибуты yes могут понадобиться. Нет волшебства. Если структура XML не соответствует вашей структуре объекта, вам необходимо проинструктировать сериализатор, как ее обрабатывать. –
Это именно то, что я хотел услышать. – 2010-07-08 06:20:21
возможно дубликат [Как отобразить XML в объекты C#] (http://stackoverflow.com/questions/87621/how-do-i-map-xml -to-c-objects) –