Dot-Net

序列化為 XML 片段 - 不是 XML 文件

  • February 11, 2012

如何將 XML 可序列化對象序列化為 XML 片段(根元素中沒有 XML 聲明或命名空間引用)?

這是一種無需將整個輸出字元串載入到 XmlDocument 中的 hack-ish 方法:

using System;
using System.Text;
using System.Xml;
using System.Xml.Serialization;

public class Example
{
   public String Name { get; set; }

   static void Main()
   {
       Example example = new Example { Name = "Foo" };

       XmlSerializer serializer = new XmlSerializer(typeof(Example));

       XmlSerializerNamespaces emptyNamespace = new XmlSerializerNamespaces();
       emptyNamespace.Add(String.Empty, String.Empty);

       StringBuilder output = new StringBuilder();

       XmlWriter writer = XmlWriter.Create(output,
           new XmlWriterSettings { OmitXmlDeclaration = true });
       serializer.Serialize(writer, example, emptyNamespace);

       Console.WriteLine(output.ToString());
   }
}

引用自:https://stackoverflow.com/questions/2768432