XmlSerializer
Introduction au contexte
Vous disposez d'un objet C# complexe qui doit être sérialisé au format XML pour le stockage ou le transfert de données. Bien que l'objet lui-même soit prêt pour la sérialisation, la simple méthode ToString()
ne peut pas générer directement une représentation XML.
Problèmes et solutions
La classeXmlSerializer
est un outil idéal pour résoudre ce problème. Le code suivant montre comment l'utiliser :
<code class="language-csharp">// 创建对象并设置属性 MyObject o = new MyObject(); // ... // 使用 XmlSerializer 将对象序列化为 XML XmlSerializer xsSubmit = new XmlSerializer(typeof(MyObject)); string xml; using (StringWriter sww = new StringWriter()) { using (XmlWriter writer = XmlWriter.Create(sww)) { xsSubmit.Serialize(writer, o); xml = sww.ToString(); // XML 数据存储在 xml 变量中 } }</code>
Méthode de sérialisation commune
Afin de gérer plus facilement différents types d'objets, une méthode de sérialisation courante peut être utilisée :
<code class="language-csharp">public class GenericSerializer<T> where T : class { public static string Serialize(T obj) { XmlSerializer xsSubmit = new XmlSerializer(typeof(T)); using (var sww = new StringWriter()) { using (XmlTextWriter writer = new XmlTextWriter(sww) { Formatting = Formatting.Indented }) { xsSubmit.Serialize(writer, obj); return sww.ToString(); } } } }</code>
Comment utiliser :
<code class="language-csharp">// 序列化 MyClass 对象 string xmlMessage = GenericSerializer<MyClass>.Serialize(myObj);</code>
Avec la méthode ci-dessus, vous pouvez facilement sérialiser divers objets C# en XML bien formé pour divers scénarios d'application.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!