Как я сериализирую XML-сериализуемый объект к фрагменту XML (никакое определение XML, ни ссылки пространства имен в корневом элементе)?
Вот хакерский способ сделать это без необходимости загружать всю строку вывода в XmlDocument:
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());
}
}
Вы должны иметь возможность просто сериализовать, как обычно, а затем использовать свойство Root
из полученного документа.
Вам может потребоваться сначала очистить атрибуты элемента.