本文整理汇总了C#中System.Xml.Serialization.XmlAttributeOverrides.Add方法的典型用法代码示例。如果您正苦于以下问题:C# XmlAttributeOverrides.Add方法的具体用法?C# XmlAttributeOverrides.Add怎么用?C# XmlAttributeOverrides.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Xml.Serialization.XmlAttributeOverrides
的用法示例。
在下文中一共展示了XmlAttributeOverrides.Add方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
//引入命名空间
using System;
using System.IO;
using System.Xml.Serialization;
/* This is the class that will be overridden. The XmlIncludeAttribute
tells the XmlSerializer that the overriding type exists. */
[XmlInclude(typeof(Band))]
public class Orchestra
{
public Instrument[] Instruments;
}
// This is the overriding class.
public class Band:Orchestra
{
public string BandName;
}
public class Instrument
{
public string Name;
}
public class Run
{
public static void Main()
{
Run test = new Run();
test.SerializeObject("Override.xml");
test.DeserializeObject("Override.xml");
}
public void SerializeObject(string filename)
{
/* Each object that is being overridden requires
an XmlAttributes object. */
XmlAttributes attrs = new XmlAttributes();
// An XmlRootAttribute allows overriding the Orchestra class.
XmlRootAttribute xmlRoot = new XmlRootAttribute();
// Set the object to the XmlAttribute.XmlRoot property.
attrs.XmlRoot = xmlRoot;
// Create an XmlAttributeOverrides object.
XmlAttributeOverrides attrOverrides =
new XmlAttributeOverrides();
// Add the XmlAttributes to the XmlAttributeOverrrides.
attrOverrides.Add(typeof(Orchestra), attrs);
// Create the XmlSerializer using the XmlAttributeOverrides.
XmlSerializer s =
new XmlSerializer(typeof(Orchestra), attrOverrides);
// Writing the file requires a TextWriter.
TextWriter writer = new StreamWriter(filename);
// Create the object using the derived class.
Band band = new Band();
band.BandName = "NewBand";
// Create an Instrument.
Instrument i = new Instrument();
i.Name = "Trumpet";
Instrument[] myInstruments = {i};
band.Instruments = myInstruments;
// Serialize the object.
s.Serialize(writer,band);
writer.Close();
}
public void DeserializeObject(string filename)
{
XmlAttributes attrs = new XmlAttributes();
XmlRootAttribute attr = new XmlRootAttribute();
attrs.XmlRoot = attr;
XmlAttributeOverrides attrOverrides =
new XmlAttributeOverrides();
attrOverrides.Add(typeof(Orchestra), "Instruments", attrs);
XmlSerializer s =
new XmlSerializer(typeof(Orchestra), attrOverrides);
FileStream fs = new FileStream(filename, FileMode.Open);
// Deserialize the Band object.
Band band = (Band) s.Deserialize(fs);
Console.WriteLine("Brass:");
foreach(Instrument i in band.Instruments)
{
Console.WriteLine(i.Name);
}
}
}
示例2: CreateOverrider
// This is the class that will be serialized.
public class Group
{
public string GroupName;
[XmlAttribute]
public int GroupCode;
}
public class Sample
{
public XmlSerializer CreateOverrider()
{
// Create an XmlAttributeOverrides object.
XmlAttributeOverrides xOver = new XmlAttributeOverrides();
/* Create an XmlAttributeAttribute to override the base class
object's XmlAttributeAttribute object. Give the overriding object
a new attribute name ("Code"). */
XmlAttributeAttribute xAtt = new XmlAttributeAttribute();
xAtt.AttributeName = "Code";
/* Create an instance of the XmlAttributes class and set the
XmlAttribute property to the XmlAttributeAttribute object. */
XmlAttributes attrs = new XmlAttributes();
attrs.XmlAttribute = xAtt;
/* Add the XmlAttributes object to the XmlAttributeOverrides
and specify the type and member name to override. */
xOver.Add(typeof(Group), "GroupCode", attrs);
XmlSerializer xSer = new XmlSerializer(typeof(Group), xOver);
return xSer;
}
}