Använda Visual C# för att serialisera ett objekt till XML
Den här artikeln innehåller en metod för att serialisera ett objekt till XML (Extensible Markup Language) med hjälp av Visual C#.
Ursprunglig produktversion: Visual Studio
Ursprungligt KB-nummer: 815813
Sammanfattning
Metoden som beskrivs i den här artikeln är användbar för att bevara tillståndet för ett objekt. Metoden är också användbar för att klona ett objekt genom att av-serialisera XML tillbaka till ett nytt objekt.
Den här artikeln refererar till följande namnområden för Microsoft .NET Framework-klassbibliotek:
System.Xml
System.Xml.Serialization
Krav
Den här artikeln förutsätter att du är bekant med följande ämnen:
- Visual Studio
- Allmän kunskap om XML
- Allmän kunskap om Visual C#
XML-serialisering
Serialisering är processen att ta tillståndet för ett objekt och bevara det på något sätt. .NET Framework innehåller kraftfulla objekt som kan serialisera alla objekt till XML. Namnområdet System.Xml.Serialization
tillhandahåller den här funktionen.
Följ dessa steg för att skapa ett konsolprogram som skapar ett objekt och serialiserar sedan dess tillstånd till XML:
Skapa ett nytt konsolprogramprojekt i Visual C#.
På projektmenyn väljer du Lägg till klass för att lägga till en ny klass i projektet.
I dialogrutan Lägg till nytt objekt ändrar du namnet på klassen till clsPerson.
Välj Lägg till. En ny klass skapas.
Lägg till följande kod efter den offentliga klass-instruktionen
clsPerson
.public string FirstName; public string MI; public string LastName;
Växla till kodfönstret för Program.cs i Visual Studio.
void Main
I metoden deklarerar och skapar du en instans avclsPerson
klassen:clsPerson p = new clsPerson();
Ange objektets
clsPerson
egenskaper:p.FirstName = "Jeff"; p.MI = "A"; p.LastName = "Price";
Namnområdet
Xml.Serialization
innehåller enXmlSerializer
klass som serialiserar ett objekt till XML. När du skapar en instans avXmlSerializer
skickar du den typ av klass som du vill serialisera till konstruktorn:System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
Metoden
Serialize
används för att serialisera ett objekt till XML. Serialisera är överbelastad och kan skicka utdata till ettTextWriter
-Stream
ellerXMLWriter
-objekt. I det här exemplet skickar du utdata till konsolen:x.Serialize(Console.Out,p); Console.WriteLine(); Console.ReadLine();
Fullständig kodlista
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();
}
}
Kontroll
Kontrollera att projektet fungerar genom att trycka på CTRL+F5 för att köra projektet. Ett clsPerson
objekt skapas och fylls i med de värden som du har angett. Det här tillståndet serialiseras till XML. Konsolfönstret visar följande 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>
Felsökning
Objektet Xml.Serialization.XmlSerializer
utför endast ytlig serialisering. Om du också vill serialisera de privata variablerna för ett objekt eller underordnade objekt måste du använda djup serialisering.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för