Witajcie,
Mam pewien problem z serializacją, mimo że (tak mi się wydaje) wszystkie parametry są identyczne, to część nie serializuje się. Korzystam z wystawionego mi webserwisu, tworzę sobie obiekt z tego webserwisu, a następnie, chcę wszystko wrzucić do XMLa. Część parametrów mi ginie w pliku wyjściowych.
Mam taką klasę w webserwisie (wszystkie pola mają taki sam nawias kwadratowy i są tak samo public):
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "1.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://namespace_jakis.pl")]
public partial class prosta_klasa {
private string pole1Field;
private System.DateTime pole2Field;
private bool pole3Field;
private System.DateTime pol4Field;
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string pole1 {
get {
return this.pole1Field;
}
set {
this.poleField = value;
}
}
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType="date")]
public System.DateTime pole2 {
get {
return this.pole2Field;
}
set {
this.pole2Field = value;
}
}
(...) i tak dalej
}
Już w aplikacji tworzę sobie XMLa:
prosta_klasa[] data = {new prosta_klasa
{
pole1 = "xxx",
pole2 = DateTime.Parse("2014-01-21"),
pole3 = true,
pole4 = DateTime.Parse("2014-01-21")
}
};
var serializer = new XmlSerializer(typeof(prosta_klasa));
using (var ms = new MemoryStream())
{
serializer.Serialize(ms, data[0]);
ms.Position = 0;
var sr = new StreamReader(ms);
var myStr = sr.ReadToEnd();
Console.WriteLine(myStr);
pismoXML = myStr;
}
(...)
XML wygląda tak:
<dane xmlns="http://namespace_jakis.pl">
<pole1>xxx</pole1>
<pole4>2014-01-21</pole4>
</dane>
Co może być przyczyną pominięcia pole2 i pole3? Co mógłbym sprawdzić? Od czego pierwszego zacząć?
Dzięki i pozdrawiam.