XML-атрибут как «сложное свойство»

1

Я не уверен, что это возможно, но я постараюсь рассказать о моем вопросе как можно более когерентно.

Я узнаю об ISerielizable и XMLSerializer для объектов, потому что я устал писать xml. У меня есть следующий xml.

<Person>
<FName>John</FName>
<LName>Smith</LName>
<Address Type = "Road">1623 Stagecoach</Address>
</Person>

У меня есть объект Object со свойствами

string FName
string LName
string Address

Вместо добавления свойства AddressType = Road,

Как я могу сериализовать атрибут Type узла адреса, который будет частью свойства адреса.

Экземпляром, который приходит на ум, является свойство "Шрифт" ярлыка или свойство "Размер".

РЕДАКТИРОВАТЬ:

Поскольку я перечитываю это, я понимаю, что простой ответ заключается в добавлении нового класса адресов, и все работает чисто. На мой вопрос, есть ли еще метод?

Теги:
deserialization
xml-serialization

1 ответ

2

Ну, вы можете сначала изменить свою библиотеку классов, а затем перейти к сериализации. Попробуйте сделать это:

[XmlRoot("Person")]
public class Person()
{ 
[XmlElement("FName")]  
public string Fname { get; set; }

[XmlElement("LName")]   
public string LName { get; set; }

[XmlElement("Address")]    
public Address Address;   
}

public class Address()
{
[XmlAttribute("Type")]
public string Type { get; set; }

[XmlType]
public string AddrValue { get; set; }
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню