Я не уверен насчет предыдущих версий, но, начиная с .Net Framework 4.5, XmlSerializer использует этот атрибут (XmlElementAttribute
) для управления сериализацией xml.Это не требуется для процесса де / сериализации.
По умолчанию имя элемента XML определяется именем класса или члена .В простом классе с именем Book поле ISBN создаст тег элемента XML.
Источник: Документы Microsoft
ЧастоXmlElement
атрибут используется, когда вы хотите дать альтернативное имя для члена вашего класса (или самого класса), который представляет этот элемент в формате xml.
Например, этот класс:
public class MyClass
{
public string Name { get; set; }
}
, как вы его использовали:
var mine = new MyClass();
mine.Name = "Peter";
...
xmls.Serialize(file, mine);
должен быть сериализован как
<MyClass>
<Name>Peter</Name>
</MyClass>
Bu youможет управлять выводом xml с помощью XmlElementAttribute
, присваивая другое имя свойству в формате xml.Например:
public class MyClass
{
[XmlElement("UserName")]
public string Name { get; set; }
}
Тогда выходные данные должны выглядеть следующим образом:
<MyClass>
<UserName>Peter</UserName>
</MyClass>
Существуют другие атрибуты, которые помогают управлять XML / сериализацией как DefaultValue
и XmlIgnore
, которыеможет быть довольно полезнымВы можете прочитать больше об этом в официальных документах .
Надеюсь, это поможет.