Как десериализации XML, как это:XML десериализации из атрибутов свойств
<query>
<parameters>
<param name="lastUpdate">2012-05-25</param>
<param name="code">11222122</param>
<param name="type">idnLookup</param>
</parameters>
<response>
<category name="person" version="1">
<field name="surname">Soap</field>
<field name="name1">Joe</field>
<field name="date_of_birth">1973-05-09</field>
</category>
<category name="contact" version="1">
<row>
<field name="phone">0118063433</field>
<field name="type">home</field>
<field name="date">2003-01-01</field>
</row>
<row>
<field name="phone">0124666566</field>
<field name="type">home</field>
<field name="date">2008-03-11</field>
</row>
</category>
</response>
</query>
в классовой структуре, как это:
public class Query{
public string lastUpdate {get;set;}
public string code {get;set;}
public string type {get;set;}
public Response response {get;set;}
}
class Response{
public Person person {get;set;}
public Contact[] contacts {get;set;}
}
class Person {
public string surname {get;set;}
public string name1 {get;set;}
public string date_of_birth {get;set;}
}
class Contact {
public string phone {get;set;}
public string type {get;set;}
public string date {get;set;}
}
используя стандартный .net XML сериалайзер. Или мне нужно катиться самостоятельно?
Ввод слишком специфичен для стандартного сериализатора Xml, чтобы это можно было сделать. Я думаю, что вы могли бы запустить преобразование XSL до стандартной стандартной десериализации, но может быть проще скомпилировать пользовательский C# ... Вы также можете посмотреть интерфейс IXmlSerializable –
@SimonMourier Я бы всегда советовал модель DTO (модель между моделью домена и сериализованной формой, которая соответствует уровню сериализации) до 'IXmlSerializable' - этот API * ужасный *, чтобы получить право. Мне нравится идея XSLT здесь. –
В качестве побочного примечания: кто бы ни придумал этот макет xml ... не знает, как xml; p –