Camarades,XML sérialiser et désérialiser la structure XML de problème
J'ai le problème suivant. Capture une liste Struct, Sérialiser (W3C valide) et envoyer à un WebService. Dans le WebService que je reçois, je transforme en une chaîne, valide par le W3C, puis en Deserializer, mais quand j'essaie de l'exécuter, il se produit toujours une erreur, en disant que certains objets n'étaient pas fermés.
Une aide?
code envoyé:
#region ListToXML
private XmlDocument ListToXMLDocument(object __Lista)
{
XmlDocument _ListToXMLDocument = new XmlDocument();
try
{
XmlDocument _XMLDoc = new XmlDocument();
MemoryStream _StreamMem = new MemoryStream();
XmlSerializer _XMLSerial = new XmlSerializer(__Lista.GetType());
StreamWriter _StreamWriter = new StreamWriter(_StreamMem, Encoding.UTF8);
_XMLSerial.Serialize(_StreamWriter, __Lista);
_StreamMem.Position = 0;
_XMLDoc.Load(_StreamMem);
if (_XMLDoc.ChildNodes.Count > 0)
_ListToXMLDocument = _XMLDoc;
}
catch (Exception __Excp)
{
new uException(__Excp).GerarLogErro(CtNomeBiblioteca);
}
return _ListToXMLDocument;
}
#endregion
code de réception:
#region XMLDocumentToTypedList
private List<T> XMLDocumentToTypedList<T>(string __XMLDocument)
{
List<T> _XMLDocumentToTypedList = new List<T>();
try
{
XmlSerializer _XMLSerial = new XmlSerializer(typeof(List<T>));
MemoryStream _MemStream = new MemoryStream();
StreamWriter _StreamWriter = new StreamWriter(_MemStream, Encoding.UTF8);
_StreamWriter.Write(__XMLDocument);
_MemStream.Position = 0;
_XMLDocumentToTypedList = (List<T>)_XMLSerial.Deserialize(_MemStream);
return _XMLDocumentToTypedList;
}
catch (Exception _Ex)
{
new uException(_Ex).GerarLogErro(CtNomeBiblioteca);
throw _Ex;
}
}
#endregion
Si vous appelez ces méthodes ensemble dans l'ordre, fonctionnent-elles? (C'est-à-dire, êtes-vous positif que ces deux methoods tiennent le problème, et pas l'appel de service Web?) –
Merci mon pote, mais j'ai réussi à résoudre le problème. Merci pour l'aide. –