C# で有効な XML を生成するためのトリック
紹介:
C# で有効な XML ドキュメントを作成することは、データの交換と保存にとって重要です。特定のニーズと関係するデータのサイズに応じて、いくつかの方法から選択できます。
XmlSerializer:
オブジェクトと XML の間の直接マッピングが必要なシナリオには、XmlSerializer が適切な選択肢です。オブジェクトモデルに直接マッピングできるので便利です。ただし、非常に大きな XML ファイルの場合、これは最も効率的なオプションではない可能性があります。
XDocument および XmlDocument:
.NET 3.5 で導入された XDocument と XmlDocument は、XML ドキュメントを作成および操作するための便利な方法を提供します。これらは使いやすいインターフェイスを提供し、XML 要素と属性を簡単に構築できるようにします。ただし、大規模な XML データ セットを処理する場合、大量のメモリを消費する可能性があります。
XmlWriter:
主な要件が大規模な XML データ ストリームを書き込むことである場合は、XmlWriter がより適切な選択肢です。これはメモリ使用量が少ない方法を提供し、単一パスで大きな XML ファイルを書き込む場合に非常に効率的です。
例:
XDocument を使用します:
<code class="language-csharp">Console.WriteLine( new XElement("Foo", new XAttribute("Bar", "some & value"), new XElement("Nested", "data")));</code>
XmlDocument を使用します:
<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 を使用します:
<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 を使用します:
<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>
以上がC# で有効な XML を効率的に生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。