Szkolenie
Moduł
Get started with classes and objects in C# - Training
Learn how to create classes and instantiate objects that expose encapsulated field data by using class definitions, constructors, and the 'new' operator.
Ta przeglądarka nie jest już obsługiwana.
Przejdź na przeglądarkę Microsoft Edge, aby korzystać z najnowszych funkcji, aktualizacji zabezpieczeń i pomocy technicznej.
Ten artykuł zawiera metodę serializacji obiektu w języku Extensible Markup Language (XML) przy użyciu języka Visual C#.
Oryginalna wersja produktu: Visual Studio
Oryginalny numer KB: 815813
Metoda opisana w tym artykule jest przydatna do utrwalania stanu obiektu. Metoda jest również przydatna do klonowania obiektu przez dese serializowanie kodu XML z powrotem do nowego obiektu.
W tym artykule opisano następujące przestrzenie nazw biblioteki klas programu Microsoft .NET Framework:
System.Xml
System.Xml.Serialization
W tym artykule założono, że znasz następujące tematy:
Serializacja to proces przyjmowania stanu obiektu i utrwalania go w jakiś sposób. Program .NET Framework zawiera zaawansowane obiekty, które mogą serializować dowolny obiekt w formacie XML. System.Xml.Serialization
Przestrzeń nazw zapewnia tę możliwość.
Wykonaj następujące kroki, aby utworzyć aplikację konsolową, która tworzy obiekt, a następnie serializuje jego stan do kodu XML:
W programie Visual C# utwórz nowy projekt aplikacja konsolowa.
W menu Project (Projekt) wybierz pozycję Add Class (Dodaj klasę), aby dodać nową klasę do projektu.
W oknie dialogowym Dodawanie nowego elementu zmień nazwę klasy na clsPerson.
Wybierz Dodaj. Zostanie utworzona nowa klasa.
Dodaj następujący kod po instrukcji klasy clsPerson
publicznej.
public string FirstName;
public string MI;
public string LastName;
Przejdź do okna kodu dla Program.cs w programie Visual Studio.
W metodzie zadeklaruj void Main
i utwórz wystąpienie clsPerson
klasy:
clsPerson p = new clsPerson();
Ustaw właściwości clsPerson
obiektu:
p.FirstName = "Jeff";
p.MI = "A";
p.LastName = "Price";
Xml.Serialization
Przestrzeń nazw zawiera klasęXmlSerializer
, która serializuje obiekt do formatu XML. Podczas tworzenia wystąpienia XmlSerializer
klasy należy przekazać typ klasy, którą chcesz serializować do jego konstruktora:
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
Metoda Serialize
służy do serializowania obiektu w formacie XML. Serializacja jest przeciążona i może wysyłać dane wyjściowe do TextWriter
obiektu , Stream
lub XMLWriter
. W tym przykładzie dane wyjściowe są wysyłane do konsoli:
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();
}
}
Aby sprawdzić, czy projekt działa, naciśnij CTRL+F5, aby uruchomić projekt. Obiekt clsPerson
jest tworzony i wypełniany wartościami wprowadzonymi. Ten stan jest serializowany na XML. W oknie konsoli zostanie wyświetlony następujący kod:
<?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>
Obiekt Xml.Serialization.XmlSerializer
wykonuje tylko płytkią serializacji. Jeśli chcesz również serializować prywatne zmienne obiektu lub obiektów podrzędnych, należy użyć serializacji głębokiej.
Szkolenie
Moduł
Get started with classes and objects in C# - Training
Learn how to create classes and instantiate objects that expose encapsulated field data by using class definitions, constructors, and the 'new' operator.