2013-05-30 3 views
0

2Let, что у меня есть этот массив:C# XML десериализации XmlAttribute

<something> 
    <items1 note="some text"> 
     <item1></item1> 
     <item1></item1> 
     <item1></item1> 
    </items1> 
    <items2> 
     <item2></item2> 
     <item2></item2> 
     <item2></item2> 
    </items2> 
</something> 

И у меня есть модель:

public class Something 
{ 
    public string Item1Note { get; set; } 
    public List<Item1> Items1 { get; set; } 
    public List<Item2> Items2 { get; set; } 
} 

Итак, можно ли десериализации XML в модель так, что атрибут примечание узла Items1 находится в свойстве Item1Note. Thx заранее.

EDIT: Я понимаю, что примечание является свойством Items1, но у меня нет такого класса.

+0

Это атрибут '' items1' не something' – I4V

+0

Примечания только дочерний элемент, с вне 'something' корня, что модель что десериализатор может идентифицировать. – Saravanan

+0

Можете ли вы показать мне код PLS? – Kindzoku

ответ

2

класса для этого XML будет

public class Items1 
{ 
    [XmlAttribute] 
    public string note { get; set; } 
    [XmlElement] 
    public List<item1> item1 { get; set; } 
} 

public class Item2 
{ 
    [XmlElement] 
    public List<item2> item2 { get; set; } 
} 

[XmlRootAttribute("Something", Namespace="", IsNullable=false)] 
public class Something 
{ 
    [XmlElement] 
    public Items1 items1 { get; set; } 
    [XmlElement] 
    public Item2 item2 { get; set; } 
} 


Something objSomething = this.Something(); 

ObjectXMLSerializer<Something>.Save(objSomething, FILE_NAME); 

Loading the xml 

objSomething = ObjectXMLSerializer<Something>.Load(FILE_NAME); 
+0

Главное, что я не хочу менять модель. Так что это невозможно с текущей моделью. Thx. – Kindzoku

+0

, если вы видите, что я изменил модель. Я упомянул две вещи: один xmlelement и xmlattribute, чтобы объяснить вам, coiming вы хотите сгенерировать xml или прочитать xml –

+0

и с помощью сериализатора objectxml я загружаю и сохраняю объект –

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