Génération de XML valide en C #
Ce guide explore des méthodes efficaces pour créer des documents XML valides dans C #, s'adressant à divers scénarios. L'approche optimale dépend de facteurs tels que le volume de données, les besoins du modèle d'objet et les priorités de performance.
Méthode 1: Leverage XmlSerializer
Cette approche mappe directement les objets C # à XML. Cependant, il oblige les getters publics et les setteurs pour toutes les propriétés d'objets, posant une limitation pour les objets immuables.
Méthode 2: Utilisation XDocument
et XmlDocument
introduit dans .NET 3.5, XDocument
et XmlDocument
offrent une manipulation XML intuitive. Ils sont très polyvalents pour construire des documents XML d'une complexité variable.
Méthode 3: employant XmlWriter
pour les grands flux XML, XmlWriter
excelle en raison de son efficacité d'écriture. Bien que une approche plus fondamentale, elle fournit des gains de performance significatifs.
Exemples illustratifs:
Voici des exemples démontrant chaque méthode:
XDocument
Exemple:
<code class="language-csharp">Console.WriteLine( new XElement("Foo", new XAttribute("Bar", "some & value"), new XElement("Nested", "data")));</code>
XmlDocument
Exemple:
<code class="language-csharp">XmlDocument doc = new XmlDocument(); XmlElement el = (XmlElement)doc.AppendChild(doc.CreateElement("Foo")); el.SetAttribute("Bar", "some & value"); el.AppendChild(doc.CreateElement("Nested")).InnerText = "data"; Console.WriteLine(doc.OuterXml);</code>
XmlWriter
Exemple:
<code class="language-csharp">XmlWriter writer = XmlWriter.Create(Console.Out); writer.WriteStartElement("Foo"); writer.WriteAttributeString("Bar", "Some & value"); writer.WriteElementString("Nested", "data"); writer.WriteEndElement();</code>
XmlSerializer
Exemple:
<code class="language-csharp">[Serializable] public class Foo { [XmlAttribute] public string Bar { get; set; } public string Nested { get; set; } } ... Foo foo = new Foo { Bar = "some & value", Nested = "data" }; new XmlSerializer(typeof(Foo)).Serialize(Console.Out, foo);</code>
Choisir la bonne méthode dépend des spécificités de votre application. Considérez la taille des données, les exigences de cartographie des objets et les performances doivent sélectionner l'approche la plus efficace pour générer des XML valides dans vos projets C #.
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!