XML сериализация определенной схемы
коллеги. Подскажите пожалуйста, можно ли стандартным методом System.Xml.Serialization сериализовать из объекта подобный xml?
<?xml version="1.0" encoding="windows-1251"?>
<s n="EnquiryRequest">
<a n="accountClass">1</a>
<a n="reason">02</a>
<c n="Consumer">
<s>
<a n="applicantType">01</a>
<a n="sex">1</a>
<c n="Address">
<s>
<a n="addressType">1</a>
<a n="addressFlag">1</a>
</s>
</c>
</s>
</c>
</s>
Если можно, то как организовать классы. Или собирать xml хардкодом? Спасибо.
Ответы (1 шт):
Автор решения: SoulOFTrue
→ Ссылка
Студия подсказывает такую организацию классов (Правка-Специальная вставка-Вставить XML как классы):
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public partial class s
{
private sA[] aField;
private sC cField;
private string nField;
[System.Xml.Serialization.XmlElementAttribute("a")]
public sA[] a
{
get
{
return this.aField;
}
set
{
this.aField = value;
}
}
public sC c
{
get
{
return this.cField;
}
set
{
this.cField = value;
}
}
[System.Xml.Serialization.XmlAttributeAttribute()]
public string n
{
get
{
return this.nField;
}
set
{
this.nField = value;
}
}
}
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class sA
{
private string nField;
private byte valueField;
[System.Xml.Serialization.XmlAttributeAttribute()]
public string n
{
get
{
return this.nField;
}
set
{
this.nField = value;
}
}
[System.Xml.Serialization.XmlTextAttribute()]
public byte Value
{
get
{
return this.valueField;
}
set
{
this.valueField = value;
}
}
}
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class sC
{
private sCS sField;
private string nField;
public sCS s
{
get
{
return this.sField;
}
set
{
this.sField = value;
}
}
[System.Xml.Serialization.XmlAttributeAttribute()]
public string n
{
get
{
return this.nField;
}
set
{
this.nField = value;
}
}
}
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class sCS
{
private sCSA[] aField;
private sCSC cField;
[System.Xml.Serialization.XmlElementAttribute("a")]
public sCSA[] a
{
get
{
return this.aField;
}
set
{
this.aField = value;
}
}
public sCSC c
{
get
{
return this.cField;
}
set
{
this.cField = value;
}
}
}
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class sCSA
{
private string nField;
private byte valueField;
[System.Xml.Serialization.XmlAttributeAttribute()]
public string n
{
get
{
return this.nField;
}
set
{
this.nField = value;
}
}
[System.Xml.Serialization.XmlTextAttribute()]
public byte Value
{
get
{
return this.valueField;
}
set
{
this.valueField = value;
}
}
}
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class sCSC
{
private sCSCA[] sField;
private string nField;
[System.Xml.Serialization.XmlArrayItemAttribute("a", IsNullable = false)]
public sCSCA[] s
{
get
{
return this.sField;
}
set
{
this.sField = value;
}
}
[System.Xml.Serialization.XmlAttributeAttribute()]
public string n
{
get
{
return this.nField;
}
set
{
this.nField = value;
}
}
}
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class sCSCA
{
private string nField;
private byte valueField;
[System.Xml.Serialization.XmlAttributeAttribute()]
public string n
{
get
{
return this.nField;
}
set
{
this.nField = value;
}
}
[System.Xml.Serialization.XmlTextAttribute()]
public byte Value
{
get
{
return this.valueField;
}
set
{
this.valueField = value;
}
}
}