您目前已離線,請等候您的網際網路重新連線

如何使用 Visual C# 序列化為 XML 物件

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:815813
本文章的有 Microsoft Visual Basic.NET] 版本請參閱 315703
本文參照下列 Microsoft.NET Framework 類別庫命名空間:
  • System.Xml
  • System.Xml.Serialization

在此工作

結論
本文將逐步告訴您,如何使用 Visual C# 序列化為 XML 物件。這個方法很有用的保存物件狀態。這個方法也很有用的複製物件由 de-serializing XML 至新的物件。

back to the top

需求

下列清單列出建議的硬體、 軟體、 網路基礎結構及所需的 Service Pack:
  • Microsoft Visual Studio
本文假設您已熟悉下列主題:
  • 一般熟悉 XML
  • 一般的熟悉度與 Visual C#
back to the top

XML 序列化

序列化是取得物件的狀態,然後以某些方式保存的處理程序。Microsoft.NET Framework 包括功能強大可以序列化為 XML 的任何物件的物件。System.Xml.Serialization 命名空間提供這項功能。

請依照這些步驟建立主控台應用程式,建立的物件,並將序列化成 XML 的狀態:
  1. 在 Visual C# 中, 建立新的主控台應用程式專案。
  2. 在 [專案] 功能表上按一下 新增類別 若要將新的類別加入至專案。
  3. 在 [加入新項目] 對話方塊變更 [clsPerson 到的 [類別名稱]。
  4. 按一下 [新增]。建立新的類別。

    附註在 Visual 的 Studio.NET 2003年中按一下 [開啟]。
  5. [公用類別 clsPerson 陳述式
     public   string FirstName; public   string MI; public   string LastName;
    之後加入下列程式碼
  6. 針對在 Visual Studio Program.cs 或 Class1.cs Visual Studio.NET 2003年中,請切換至程式碼視窗。
  7. void 的 Main 方法中宣告並建立 clsPerson 類別的執行個體:
    clsPerson p = new clsPerson();
  8. 設定 clsPerson 物件的屬性:
    p.FirstName = "Jeff";p.MI = "A";p.LastName = "Price";
  9. Xml.Serialization 命名空間包含將物件至 XML 序列化的 XmlSerializer 類別。當您建立執行個體的 XmlSerializer 時,傳遞您想要將序列化為其建構函式的類別的型別:
    System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
  10. 序列化 方法用來序列化為 XML 物件。序列化會進行多載,而且可以將輸出傳送至 TextWriter]、 [資料流,] 或 [XMLWriter 物件。在此範例您必須傳送輸出至主控台:
    x.Serialize(Console.Out,p);Console.WriteLine();Console.ReadLine();
back to the top

完成程式碼清單

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();   }}    
back to the top

驗證

若要確認您的專案運作,按下 CTRL + F5 以執行專案。一個 clsPerson 物件建立並填入您所輸入的值。 此狀態序列化為 XML。主控台視窗會顯示下列:
<?xml version="1.0" encoding="IBM437"?> <clsPerson xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3 .org/2001/XMLSchema"><FirstName>Jeff</FirstName> <MI>A</MI><LastName>Price</LastName></clsPerson>		
back to the top

疑難排解

Xml.Serialization.XmlSerializer 物件會執行表層的序列化。如果您也要序列化物件或子物件的私用變數,您必須使用深層序列化。

back to the top
参考
如需詳細資訊請造訪下列 Microsoft 開發人員網路 (MSDN) 網站]:back to the top

內容

文章識別碼:815813 - 最後檢閱時間:07/21/2008 19:01:40 - 修訂: 4.1

Microsoft Visual C# 2008 Express Edition, Microsoft Visual C# .NET 2003 標準版, Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# 2005 Express Edition

  • kbmt kbsweptvs2008 kbnamespace kbxml kbhowtomaster KB815813 KbMtzh
意見反應
s.js'><\/script>");