วิธีการ serialize วัตถุกับ XML โดยใช้ Visual c#

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 815813 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

บทความที่มีการทีละขั้นตอนนี้อธิบายวิธีการ serialize วัตถุกับ XML โดยใช้ Visual c# วิธีนี้จะเป็นประโยชน์สำหรับ persisting สถานะของวัตถุ วิธีนี้จะยังเป็นประโยชน์สำหรับ cloning วัตถุโดย de-serializing XML กลับไปยังวัตถุใหม่



ความต้องการ

รายการต่อไปนี้แสดงฮาร์ดแวร์ที่แนะนำ ซอฟต์แวร์ โครงสร้างพื้นฐานของเครือข่าย และ service pack ที่จำเป็นต้องใช้:
  • Microsoft Visual Studio
บทความนี้อนุมานว่า คุณไม่คุ้นเคยกับหัวข้อต่อไปนี้:
  • familiarity ทั่วไปกับ XML
  • familiarity ทั่วไปเกี่ยวกับ Visual c#

Serialization xml

serialization คือ กระบวนการรับสถานะของวัตถุ และ persisting ในที่ต้องการบางอย่าง Framework Microsoft .NET รวมวัตถุที่มีประสิทธิภาพที่สามารถ serialize วัตถุใด ๆ กับ XML กระบวนการSystem.Xml.Serializationnamespace มีความสามารถในการทำงานนี้

ทำตามขั้นตอนเหล่านี้เพื่อสร้างโปรแกรมประยุกต์คอนโซลที่สร้างวัตถุ และสถานะการ XML ที่ serializes แล้ว:
  1. ใน Visual c# สร้างโปรแกรมประยุกต์ของคอนโซลใหม่โครงการ
  2. ในการProjectเมนู คลิกเพิ่มระดับชั้นเมื่อต้องการเพิ่มคลาสที่ใหม่กับโครงการ
  3. ในการเพิ่มรายการใหม่กล่องโต้ตอบกล่อง เปลี่ยนชื่อของคลาไปclsPerson.
  4. คลิกadd. คลาสที่ใหม่ถูกสร้างขึ้น

    หมายเหตุ:ใน Visual Studio .NET 2003 คลิกOPEN.
  5. เพิ่มรหัสต่อไปนี้หลังจากคลาสของสาธารณะclsPersonงบดุล
     public   string FirstName;
     public   string MI;
     public   string LastName;
    
  6. สลับไปหน้าต่างรหัส สำหรับ Program.cs ใน Visual Studio หรือ Class1.cs ใน Visual Studio .NET 2003
  7. ในการโมฆะหลักวิธีการ ประกาศ และสร้างอินสแตนซ์ของการclsPersonคลาส:
    clsPerson p = new clsPerson();
  8. การตั้งค่าคุณสมบัติของclsPersonวัตถุ:
    p.FirstName = "Jeff";
    p.MI = "A";
    p.LastName = "Price";
  9. กระบวนการXml.Serializationnamespace ที่ประกอบด้วยการXmlSerializerคลาสที่ serializes วัตถุกับ XML เมื่อคุณสร้างอินสแตนซ์ของXmlSerializerคุณส่งต่อชนิดของระดับชั้นที่คุณต้องการ serialize ลงในตัวสร้างของ:
    System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
  10. กระบวนการserializeใช้วิธีการ serialize วัตถุกับ XML serialize คือ overloaded และสามารถส่งผลลัพธ์ไปยังtextwriter,กระแสข้อมูลหรือXMLWriterวัตถุ ในตัวอย่างนี้ คุณส่งผลลัพธ์ไปยังคอนโซล:
    x.Serialize(Console.Out,p);
    Console.WriteLine();
    Console.ReadLine();

รายการของรหัสการทำให้เสร็จสมบูรณ์

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

การตรวจสอบ

เมื่อต้องการตรวจสอบว่า โครงการของคุณทำงาน กด CTRL + F5 เพื่อเรียกใช้โครงการ aclsPersonวัตถุถูกสร้างขึ้น และบรรจุ ด้วยค่าที่คุณป้อน สถานะนี้ถูก serialized กับ 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>

แก้ไข

กระบวนการXml.Serialization.XmlSerializerวัตถุที่ดำเนินการเฉพาะ shallow serialization ถ้าคุณต้องการ serialize ตัวแปรส่วนตัวของวัตถุวัตถุหรือลูก คุณต้องใช้ serialization ความลึก

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติม โปรดแวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft Developer Network (MSDN)::
แนะนำ Serialization XML
.aspx http://msdn.microsoft.com/en-us/library/182eeyhh (VS.80)

คุณสมบัติ

หมายเลขบทความ (Article ID): 815813 - รีวิวครั้งสุดท้าย: 23 กันยายน 2554 - Revision: 3.0
ใช้กับ
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2005 Express Edition
Keywords: 
kbsweptvs2008 kbnamespace kbxml kbhowtomaster kbmt KB815813 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:815813

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com