本文整理汇总了C#中System.Xml.Serialization.XmlSerializer.SerializeObject方法的典型用法代码示例。如果您正苦于以下问题:C# XmlSerializer.SerializeObject方法的具体用法?C# XmlSerializer.SerializeObject怎么用?C# XmlSerializer.SerializeObject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Xml.Serialization.XmlSerializer
的用法示例。
在下文中一共展示了XmlSerializer.SerializeObject方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ForTypesWithoutInterfacesCustomSerializerSerializesTheSameAsDefaultSerializer
public void ForTypesWithoutInterfacesCustomSerializerSerializesTheSameAsDefaultSerializer(
object instance,
string defaultNamespace,
Type[] extraTypes,
string rootElementName,
Encoding encoding,
Formatting formatting,
XmlSerializerNamespaces namespaces)
{
var defaultSerializer =
new System.Xml.Serialization.XmlSerializer(
instance.GetType(),
null,
extraTypes,
string.IsNullOrWhiteSpace(rootElementName) ? null : new XmlRootAttribute(rootElementName),
defaultNamespace);
var customSerializer =
(IXmlSerializerInternal)Activator.CreateInstance(
typeof(CustomSerializer<>).MakeGenericType(instance.GetType()),
null,
new TestXmlSerializerOptions
{
DefaultNamespace = defaultNamespace,
ExtraTypes = extraTypes,
RootElementName = rootElementName
});
var defaultXml = defaultSerializer.SerializeObject(instance, encoding, formatting, new TestSerializeOptions(namespaces)).StripXsiXsdDeclarations();
var customXml = customSerializer.SerializeObject(instance, encoding, formatting, new TestSerializeOptions(namespaces)).StripXsiXsdDeclarations();
Console.WriteLine("Default XML:");
Console.WriteLine(defaultXml);
Console.WriteLine();
Console.WriteLine("Custom XML:");
Console.WriteLine(customXml);
Assert.That(customXml, Is.EqualTo(defaultXml));
}
示例2: TypeWithInterfaceSerializesSameAsTypeWithAbstract
public void TypeWithInterfaceSerializesSameAsTypeWithAbstract(
object instanceWithInterface,
object instanceWithAbstract,
string defaultNamespace,
Type[] extraTypes,
string rootElementName,
Encoding encoding,
Formatting formatting,
XmlSerializerNamespaces namespaces,
IEnumerable<Tuple<string, string>> defaultXmlReplacements)
{
var defaultSerializer =
new System.Xml.Serialization.XmlSerializer(
instanceWithAbstract.GetType(),
null,
extraTypes,
string.IsNullOrWhiteSpace(rootElementName) ? null : new XmlRootAttribute(rootElementName),
defaultNamespace);
var customSerializer =
(IXmlSerializerInternal)Activator.CreateInstance(
typeof(CustomSerializer<>).MakeGenericType(instanceWithInterface.GetType()),
null,
new TestXmlSerializerOptions
{
DefaultNamespace = defaultNamespace,
ExtraTypes = extraTypes,
RootElementName = rootElementName
});
var defaultXml = defaultSerializer.SerializeObject(instanceWithAbstract, encoding, formatting, new TestSerializeOptions(namespaces)).StripXsiXsdDeclarations();
var customXml = customSerializer.SerializeObject(instanceWithInterface, encoding, formatting, new TestSerializeOptions(namespaces)).StripXsiXsdDeclarations();
Console.WriteLine("Default XML:");
Console.WriteLine(defaultXml);
Console.WriteLine();
Console.WriteLine("Custom XML:");
Console.WriteLine(customXml);
if (defaultXmlReplacements != null)
{
defaultXml = defaultXmlReplacements.Aggregate(defaultXml, (current, replacement) => current.Replace(replacement.Item1, replacement.Item2));
}
Assert.That(customXml, Is.EqualTo(defaultXml));
}