当前位置: 首页>>代码示例>>C#>>正文


C# XmlAttributes.XmlArrayItems属性代码示例

本文整理汇总了C#中System.Xml.Serialization.XmlAttributes.XmlArrayItems属性的典型用法代码示例。如果您正苦于以下问题:C# XmlAttributes.XmlArrayItems属性的具体用法?C# XmlAttributes.XmlArrayItems怎么用?C# XmlAttributes.XmlArrayItems使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在System.Xml.Serialization.XmlAttributes的用法示例。


在下文中一共展示了XmlAttributes.XmlArrayItems属性的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main

//引入命名空间
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;

// This is the class that will be serialized.
public class Group
{
    public Member [] Members;
}

public class Member
{
    public string MemberName;
}

public class NewMember:Member
{
    public int MemberID;
}

public class RetiredMember:NewMember
{
    public DateTime RetireDate;
}

public class Run
{
   public static void Main()
   {
      Run test = new Run();
      test.SerializeObject("OverrideArrayItem.xml");
      test.DeserializeObject("OverrideArrayItem.xml");
   }

   // Return an XmlSerializer used for overriding. 
   public XmlSerializer CreateOverrider()
   {
      // Create XmlAttributeOverrides and XmlAttributes objects.
      XmlAttributeOverrides xOver = new XmlAttributeOverrides();
      XmlAttributes xAttrs = new XmlAttributes();

      // Add an override for the XmlArrayItem.    
      XmlArrayItemAttribute xArrayItem = 
      new XmlArrayItemAttribute(typeof(NewMember));
      xArrayItem.Namespace = "http://www.cpandl.com";
      xAttrs.XmlArrayItems.Add(xArrayItem);

      // Add a second override.
      XmlArrayItemAttribute xArrayItem2 = 
      new XmlArrayItemAttribute(typeof(RetiredMember));
      xArrayItem2.Namespace = "http://www.cpandl.com";
      xAttrs.XmlArrayItems.Add(xArrayItem2);

      // Add all overrides to XmlAttribueOverrides object.
      xOver.Add(typeof(Group), "Members", xAttrs);

      // Create the XmlSerializer and return it.
      return new XmlSerializer(typeof(Group), xOver);
   }

   public void SerializeObject(string filename)
   {
      // Create an instance of the XmlSerializer class.
      XmlSerializer mySerializer =  CreateOverrider();
      // Writing the file requires a TextWriter.
      TextWriter writer = new StreamWriter(filename);

      // Create an instance of the class that will be serialized.
      Group myGroup = new Group();

      // Set the object properties.
      NewMember m = new NewMember();
      m.MemberName = "Paul";
      m.MemberID = 2;

      // Create a second member.
      RetiredMember m2 = new RetiredMember();
      m2.MemberName = "Renaldo";
      m2.MemberID = 23;
      m2.RetireDate = new DateTime(2000, 10,10);

      myGroup.Members = new Member[2] {m, m2};
      
      // Serialize the class, and close the TextWriter.
      mySerializer.Serialize(writer, myGroup);
      writer.Close();
   }

   public void DeserializeObject(string filename)
   {
      XmlSerializer mySerializer = CreateOverrider();
      FileStream fs = new FileStream(filename, FileMode.Open);
      Group myGroup = (Group) 
      mySerializer.Deserialize(fs);
      foreach(Member m in myGroup.Members)
      {
          Console.WriteLine(m.MemberName);
      }
   }
}
开发者ID:.NET开发者,项目名称:System.Xml.Serialization,代码行数:102,代码来源:XmlAttributes.XmlArrayItems


注:本文中的System.Xml.Serialization.XmlAttributes.XmlArrayItems属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。