簡體   English   中英

C#中的XML序列化

[英]XML Serialization in C#

我在哪里可以找到關於對象的XMl序列化的好教程? 謝謝。

它非常簡單,只有三個主要步驟。

  1. 您需要使用[Serializable]屬性標記您的類。
  2. 寫序列化代碼
  3. 編寫反序列化代碼

連載:

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

反序列化:

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

有一個關於微軟支持頁面的基本教程,他們的代碼示例只有幾行:

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();
   }
}

基本上除了調用為您完成所有艱苦工作的內置函數之外,您不需要任何其他操作。

MSDN有一篇不錯的文章: http//msdn.microsoft.com/en-us/library/ms733901.aspx

這一點更直接: http//www.dotnetjohn.com/articles.aspx? articleid = 173

這是一個很好的開始微軟

同時查看Xml Schema並使用xsd.exe自動生成類,越早習慣這一點越好,它可以為您節省大量使用XML的工作量。 另外,查看生成的c#文件,可以為您提供一些線索,幫助您了解如何使用屬性來操作XmlSerializer為類提供服務的方式

您可以在Web上使用.Net輕松找到許多關於序列化數據的教程。 但是,讓我提醒一些問題:

  1. 序列化的類型:

    一個。 XML序列化:請查看http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization

    二進制序列化:請參考http://www.switchonthecode.com/tutorials/csharp-tutorial-serialize-objects-to-a-file

  2. 當您使用文件工作(讀取和寫入數據)時,請注意安全方面。 這里有一個很好的教程http://msdn.microsoft.com/en-us/library/system.security.permissions.fileiopermission.aspx

我們使用Serialization以二進制格式和IN XML格式寫入數據。 對於二進制格式,我們使用BibnaryFormatSerialization,對於XML格式,我們使用SoapFormatSerialization。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM