2010-10-05 3 views
1

У меня есть следующие XElement.Net Xml Десериализация

<Issue Type="Duplicate" Distance="1"> 
    <Record> 
     <ID>6832</ID> 
     <Name_First>JAMES </Name_First> 
     <Name_Last>SMITH</Name_Last> 
     <Company>SMITH CO.</Company> 
    </Record> 
    <Record> 
     <ID>6831</ID> 
     <Name_First>JAMES</Name_First> 
     <Name_Last>SMITH</Name_Last> 
     <Company>SMITH CO.</Company> 
    </Record> 
    </Issue> 

Я пытаюсь Deserialize его в этот объект

public class Issue 
{ 
    [XmlAttribute] 
    public string Type { get; set; } 

    [XmlArrayItem(typeof(XElement), ElementName = "Record")] 
    public List<XElement> Record { get; set; } 
} 

Тип не работает без проблем, но я не могу получить два Записывайте узлы в список записей объекта.

Возможно ли без переопределения ISerializable и написания пользовательского кода?

ответ

2

Попробуйте это:

public class Issue 
{ 
    [XmlAttribute] 
    public string Type { get; set; } 

    [XmlAnyElement("Record")] 
    public List<XElement> Record { get; set; } 
} 

Я думаю, что говорит сериалайзер, что несколько элементов Записи будут идти в списке.

+0

Сменив это на 'XmlAnyElement', казалось, работало – CaffGeek

+0

А приятно, спасибо. –

1

Реализовать класс Record, который имеет идентификатор, Name_First, Name_Last и поле Компании

+0

Мне не нужен класс, я хочу XElement, поскольку запись может содержать что угодно. – CaffGeek

Смежные вопросы