XML Serialization in C#

大兔子大兔子 提交于 2019-12-20 20:31:15

问题


Where Can I find good tutorial about XMl serialization to the object? Thanks.


回答1:


There's a basic tutorial on Microsoft's support pages and their code example is only a few lines long:

using System;

public class clsPerson
{
  public  string FirstName;
  public  string MI;
  public  string LastName;
}

class class1
{ 
   static void Main(string[] args)
   {
      clsPerson p=new clsPerson();
      p.FirstName = "Jeff";
      p.MI = "A";
      p.LastName = "Price";
      System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
      x.Serialize(Console.Out, p);
      Console.WriteLine();
      Console.ReadLine();
   }
}

Basically you don't have to anything other than call the built in functions that do all the hard work for you.




回答2:


Its really pretty simple, there are only three main steps.

  1. You need to mark your classes with the [Serializable] attribute.
  2. Write Serialization code
  3. Write Deserialization code

Serialization:

var x = new XmlSerializer(typeof(YourClass));
var fs = new FileStream(@"C:\YourFile.xml"), FileMode.OpenOrCreate);
x.Serialize(fs, yourInstance);
fs.Close();

Deserialization:

var x = new XmlSerializer(typeof(YourClass));
var fs = new FileStream(@"C:\YourFile.xml"), FileMode.Open);
var fromFile = x.Deserialize(fs) as YourClass;
fs.Close();



回答3:


XML Serialization in the .NET Framework

How to serialize an object to XML by using Visual C#




回答4:


MSDN has a decent article about it: http://msdn.microsoft.com/en-us/library/ms733901.aspx

And this one's a bit more straightforward: http://www.dotnetjohn.com/articles.aspx?articleid=173




回答5:


Here's a good start microsoft

Also look into Xml Schema and generating classes automatically with xsd.exe the sooner you get used to this the better, it can save you a lot of effort working with XML. Also looking at the generated c# files gives you some clues on how to use attributes to manipulate the way classes are serilized by the XmlSerializer




回答6:


You can easily find many tutorials about serialization data using .Net on the Web. However, let me remind some points:

  1. Types of serialization:

    a. XML Serialization : Please have a look at http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization

    b. Binary Serialization: Please refer to http://www.switchonthecode.com/tutorials/csharp-tutorial-serialize-objects-to-a-file

  2. Also please be aware of the security aspects when you work (reading and writing data) with files. There is a good tutorial here http://msdn.microsoft.com/en-us/library/system.security.permissions.fileiopermission.aspx




回答7:


We use Serialization to write the data in Binary Format and IN XML format. for binary format we use BibnaryFormatSerialization and for XML format we use SoapFormatSerialization.



来源:https://stackoverflow.com/questions/3195813/xml-serialization-in-c-sharp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!