Witajcie.
Potrzebuję pomocy przy serializacji obiektu do XML i odwrotnie.
Pytania.
- W jaki sposób odczytać zawartość wszystkich właściwości obiektu utworzonego po deserializacji.
- W jaki sposób zserializować i zapisać plik XML ale wypełniając w obiekcie tylko niektóre właściwości dla nie wypełnionych powinny utworzyć się w pliku XML odpowiednie tagi z pustymi wartościami.
- W jaki sposób wypełnić gałęzie tagu "E1STATE" przy czym tag ten będzie powtórzony trzy razy (każda sekcja tego tagu będzie miała inne dane) i zserializować obiekt.
Niżej zamieszczam plik XML i jego klasę.
Plik XML.
<?xml version="1.0" encoding="UTF-8" ?>
<ALE01>
<ID BEGIN="1" DANE="test">
<EDI SEGMENT="1">
<TABNAM>test2</TABNAM>
<SERIAL>20171116143751</SERIAL>
</EDI>
<E1A SEGMENT="1">
<MEST>test3</MEST>
<E1STATE SEGMENT="1">
<DOCNUM>0000000000000000</DOCNUM>
<STATUS>53</STATUS>
<E1PRTOB SEGMENT="1">
<DOCNUM>0000000008708471</DOCNUM>
<OBJKEY>3100940841</OBJKEY>
</E1PRTOB>
</E1STATE>
<E1STATE SEGMENT="2">
<DOCNUM>0000000000000000</DOCNUM>
<STATUS>12</STATUS>
<E1PRTOB SEGMENT="1">
<DOCNUM>000002238708471</DOCNUM>
<OBJKEY>3140841</OBJKEY>
</E1PRTOB>
</E1STATE>
</E1A>
</ID>
</ALE01>
oraz jego klasę
/// <remarks/>
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public partial class ALE01
{
private ALE01ID idField;
/// <remarks/>
public ALE01ID ID
{
get
{
return this.idField;
}
set
{
this.idField = value;
}
}
}
/// <remarks/>
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class ALE01ID
{
private ALE01IDEDI eDIField;
private ALE01IDE1A e1AField;
private byte bEGINField;
private string dANEField;
/// <remarks/>
public ALE01IDEDI EDI
{
get
{
return this.eDIField;
}
set
{
this.eDIField = value;
}
}
/// <remarks/>
public ALE01IDE1A E1A
{
get
{
return this.e1AField;
}
set
{
this.e1AField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public byte BEGIN
{
get
{
return this.bEGINField;
}
set
{
this.bEGINField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string DANE
{
get
{
return this.dANEField;
}
set
{
this.dANEField = value;
}
}
}
/// <remarks/>
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class ALE01IDEDI
{
private string tABNAMField;
private ulong sERIALField;
private byte sEGMENTField;
/// <remarks/>
public string TABNAM
{
get
{
return this.tABNAMField;
}
set
{
this.tABNAMField = value;
}
}
/// <remarks/>
public ulong SERIAL
{
get
{
return this.sERIALField;
}
set
{
this.sERIALField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public byte SEGMENT
{
get
{
return this.sEGMENTField;
}
set
{
this.sEGMENTField = value;
}
}
}
/// <remarks/>
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class ALE01IDE1A
{
private string mESTField;
private ALE01IDE1AE1STATE[] e1STATEField;
private byte sEGMENTField;
/// <remarks/>
public string MEST
{
get
{
return this.mESTField;
}
set
{
this.mESTField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("E1STATE")]
public ALE01IDE1AE1STATE[] E1STATE
{
get
{
return this.e1STATEField;
}
set
{
this.e1STATEField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public byte SEGMENT
{
get
{
return this.sEGMENTField;
}
set
{
this.sEGMENTField = value;
}
}
}
/// <remarks/>
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class ALE01IDE1AE1STATE
{
private byte dOCNUMField;
private byte sTATUSField;
private ALE01IDE1AE1STATEE1PRTOB e1PRTOBField;
private byte sEGMENTField;
/// <remarks/>
public byte DOCNUM
{
get
{
return this.dOCNUMField;
}
set
{
this.dOCNUMField = value;
}
}
/// <remarks/>
public byte STATUS
{
get
{
return this.sTATUSField;
}
set
{
this.sTATUSField = value;
}
}
/// <remarks/>
public ALE01IDE1AE1STATEE1PRTOB E1PRTOB
{
get
{
return this.e1PRTOBField;
}
set
{
this.e1PRTOBField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public byte SEGMENT
{
get
{
return this.sEGMENTField;
}
set
{
this.sEGMENTField = value;
}
}
}
/// <remarks/>
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class ALE01IDE1AE1STATEE1PRTOB
{
private uint dOCNUMField;
private uint oBJKEYField;
private byte sEGMENTField;
/// <remarks/>
public uint DOCNUM
{
get
{
return this.dOCNUMField;
}
set
{
this.dOCNUMField = value;
}
}
/// <remarks/>
public uint OBJKEY
{
get
{
return this.oBJKEYField;
}
set
{
this.oBJKEYField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public byte SEGMENT
{
get
{
return this.sEGMENTField;
}
set
{
this.sEGMENTField = value;
}
}
}