using System; using System.IO; using System.Text; using System.Xml; using System.Xml.Serialization; using System.Runtime.Serialization.Formatters.Soap; namespace XMLMAnager { /// <summary> /// Description résumée de XMLManager. /// </summary> public class XMLManagerClass { public XMLManagerClass() { // // TODO : ajoutez ici la logique du constructeur // } #region SOAP && XML Serializer #region declaration d'un namespace //XmlSerializerNamespaces myNamespaces = new XmlSerializerNamespaces(); //myNamespaces.Add("prefixe1","url_prefixe1"); //myNamespaces.Add("prefixe1","url_prefixe1"); #endregion public static String SerializeSOAPString(object request, XmlSerializerNamespaces myNamespaces) { XmlSerializer serializerXML = new XmlSerializer(request.GetType()); MemoryStream memStream = new MemoryStream(); serializerXML.Serialize(memStream, request,myNamespaces); return ConvertStreamToString(memStream); } /// <summary> /// Derialiser et retourne un fichier /// </summary> public static bool SerializeSOAPFile(object objet, string pathFile) { if (objet == null) return false; FileStream stream = new FileStream(pathFile, FileMode.Create); SoapFormatter objetSoap = new SoapFormatter(); objetSoap.Serialize(stream, objet); stream.Close(); return true; } /// <summary> /// Déserialise à partir d'un string et return objet /// </summary> /// <returns></returns> public static object DeserializeSOAPString(string sSoap) { SoapFormatter objetSoap = new SoapFormatter(); object resultat = null; resultat = objetSoap.Deserialize(ConvertStringToStream(sSoap)); return resultat; } /// <summary> /// Déserialise à partir d'un fichier et retourne un objet /// </summary> /// <returns></returns> public static object DeserializeSOAPFile(string fichier) { if (!File.Exists(fichier)) return null; SoapFormatter objetSoap = new SoapFormatter(); FileStream stream = new FileStream(fichier, FileMode.Open); object resultat = null; resultat = objetSoap.Deserialize(stream); stream.Close(); return resultat; } #region XML public static string SerializeXMLString(object objet, Type type, XmlSerializerNamespaces myNamespaces) { XmlSerializer x = new XmlSerializer(type); StringWriter writer = new StringWriter(); x.Serialize(writer,objet,myNamespaces); return writer.GetStringBuilder().ToString(); } public static bool SerializeXMLFile(object objet, string pathFile, Type type) { XmlSerializer x = new XmlSerializer(type); TextWriter writer = new StreamWriter(pathFile); x.Serialize(writer,objet); writer.Close(); return true; } public static object DeserializeXMLFile(string pathFile, Type type) { XmlSerializer x = new XmlSerializer(type); FileStream FS = new FileStream(pathFile,FileMode.Open); XmlReader reader = new XmlTextReader(FS); return x.Deserialize(reader); } public static object DeserializeXMLString(string sr, Type type) { XmlSerializer x = new XmlSerializer(type); StringReader strR = new StringReader(sr); return x.Deserialize(strR); } public static object DeserializeXMLString(string sr, Type type,XmlRootAttribute root) { XmlSerializer x = new XmlSerializer(type,root); StringReader strR = new StringReader(sr); return x.Deserialize(strR); } #endregion #endregion #region Conversion Stream && String public static string ConvertStreamToString(Stream leStream) { if(leStream.Position>0 && leStream.CanSeek) leStream.Position=0; string leString=""; using (StreamReader sr = new StreamReader(leStream) ) { leString = sr.ReadToEnd(); sr.Close(); } return leString; } public static MemoryStream ConvertStringToStream(string stringval) { byte[] stringbytes = ASCIIEncoding.ASCII.GetBytes(stringval); MemoryStream st = new MemoryStream(stringbytes); return st; } #endregion } }
Avis de décès, Carte de voeux, Bricolage, Coloriages, Cinéma, Coiffure, Cuisine, Déco, Dictionnaire, Horoscope, Jeux en ligne, Programme TV, Recettes, Restaurant, SMIC, Test débit, Voyage, Signification prénom