Heim  >  Artikel  >  Backend-Entwicklung  >  C# XmlSerializer

C# XmlSerializer

WBOY
WBOYOriginal
2024-09-03 15:33:031315Durchsuche

Die Objekte, die in XML codiert werden, können mithilfe von XmlSerializer gesteuert werden, der aus zahlreichen Konstruktoren besteht. Immer wenn ein Serializer erstellt wird und der verwendete Konstruktor keinen Typ annimmt, wird jeweils eine temporäre Assembly erstellt Zeit. Der Serializer wird erstellt, der die Serialisierung und Deserialisierung von Objekten in XML-Dokumente und aus XML-Dokumenten ermöglicht. Die Mitglieder von XmlSerialiizer sind XmlSerializer, XmlSerializer(Type), XmlSerializer(XmlTypeMapping), XmlSerializer(Type, String), XmlSerializer(Type , Type()), XmlSerializer(Type, XmlAttributeOverrides), XmlSerializer(Type, XmlRootAttribute), XmlSerializer(Type, XmlAttributeOverrides, Type(), XmlRootAttribute, String), ), XmlAttributeOverrides, Type(), XmlRootAttribute, String, String, Evidence). In diesem Thema lernen wir etwas über C# XmlSerializer.

Die Syntax:

XmlSerializer serializer_name = new XmlSerializer(type);

wobei serializer_name der Objektname des XmlSerializer ist

Arbeitsweise von XmlSerializer in C#

  • Immer wenn die Notwendigkeit besteht, die in XML kodierten Objekte zu kontrollieren, nutzen wir XmlSerializer in C#.
  • Der XmlSerializer besteht aus zahlreichen Konstruktoren.
  • Immer wenn ein Serialisierer erstellt wird und der verwendete Konstruktor keinen Typ annimmt, wird jedes Mal eine temporäre Assembly erstellt, der Serialisierer erstellt, der die Serialisierung und Deserialisierung von Objekten in die XML-Dokumente und aus den Dokumenten ermöglicht von XML.
  • Die Mitglieder von XmlSerialiizer sind XmlSerializer, XmlSerializer( Type), XmlSerializer( XmlTypeMapping), XmlSerializer( Type, XmlAttributeOverrides, Type(), XmlRootAttribute, String ), XmlSerializer( Type, XmlAttributeOverrides, Type(), XmlRootAttribute, String, String ), XmlAttributeOverrides, Type(),
Beispiele für C# XmlSerializer

Hier sind die folgenden Beispiele erwähnt:

Beispiel #1

C#-Programm zur Demonstration von XmlSerializer zum Codieren der angegebenen Buchdetails in XML.

Code:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
//a class called check is defined
public class check
{
//main method is called within which the instance of XmlSerializer is created which is used to encode the details of the book into XML
public static void Main()
{
XmlSerializer ser_name = new XmlSerializer(typeof(Book));
Book bookdetails = new Book("Shobha Shivakumar", "Meaning of life", 2020);
ser_name.Serialize(Console.Out, bookdetails);
Console.ReadLine();
}
}
//a class called book is defined which initializes the elements and required attributes which defines the method book to take the name of the author of the book, name of the book and the year
public class Book
{
[XmlElementAttribute("AuthorName")]
public string authorname;
[XmlAttributeAttribute("BookName")]
public string bookname;
[XmlAttributeAttribute("YearofPublishing")]
public int year;
public Book()
{
}
public Book(string authorname, string bookname, int year)
{
this.authorname = authorname;
this.bookname = bookname;
this.year = year;
}
}

Ausgabe:

C# XmlSerializer

Im obigen Programm ist eine Klasse namens check definiert. Anschließend wird die Hauptmethode aufgerufen, in der die Instanz von XmlSerializer erstellt wird, die zum Codieren der Buchdetails in XML verwendet wird. Dann wird eine Klasse namens „book“ definiert, die die Elemente und erforderlichen Attribute initialisiert, die die Methode „book“ definiert haben, um den Namen des Autors des Buches, den Namen des Buches und das Jahr anzunehmen. Die Ausgabe ist im Schnappschuss oben dargestellt.

Beispiel #2

C#-Programm zur Demonstration von XmlSerializer zum Codieren der angegebenen Studentendetails in XML.

Code:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
//a class called check is defined
public class check
{
//main method is called within which the instance of XmlSerializer is created which is used to encode the details of the book into XML
public static void Main()
{
XmlSerializer ser_name = new XmlSerializer(typeof(Student));
Student studentdetails = new Student("Shobha Shivakumar", "C Sharp", "XML");
ser_name.Serialize(Console.Out, studentdetails);
Console.ReadLine();
}
}
//a class called student is defined which initializes the elements and required attributes which defines the method student to take the name of the student, name of the student and name of the topic
public class Student
{
[XmlElementAttribute("StudentName")]
public string studentname;
[XmlAttributeAttribute("SubjectName")]
public string subjectname;
[XmlAttributeAttribute("TopicName")]
public string topicname;
public Student()
{
}
public Student(string studentname, string subjectname, string topicname)
{
this.studentname = studentname;
this.subjectname = subjectname;
this.topicname = topicname;
}
}

Ausgabe:

C# XmlSerializer

Im obigen Programm ist eine Klasse namens check definiert. Anschließend wird die Hauptmethode aufgerufen, in der die Instanz von XmlSerializer erstellt wird, die zum Codieren der Daten des Schülers in XML verwendet wird. Dann wird eine Klasse namens „student“ definiert, die die Elemente und erforderlichen Attribute initialisiert, die die Methode „student“ definiert haben, um den Namen des Studenten, den Namen des Fachs und den Namen des Themas zu übernehmen. Die Ausgabe ist im Schnappschuss oben dargestellt.

Beispiel #3

C#-Programm zur Demonstration von XmlSerializer zum Codieren der angegebenen Mitarbeiterdetails in XML.

Code:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
//a class called check is defined
public class check
{
//main method is called within which the instance of XmlSerializer is created which is used to encode the details of the book into XML
public static void Main()
{
XmlSerializer ser_name = new XmlSerializer(typeof(Employee));
Employee employeedetails = new Employee("Shobha Shivakumar", "Engineer", 123);
ser_name.Serialize(Console.Out, employeedetails);
Console.ReadLine();
}
}
//a class called employee is defined which initializes the elements and required attributes which define the method employee to take the name of the employee, the designation of the employee and the employee ID of the employee
public class Employee
{
[XmlElementAttribute("EmployeeName")]
public string Employeename;
[XmlAttributeAttribute("Designation")]
public string Designation;
[XmlAttributeAttribute("EmployeeID")]
public int EmployeeID;
public Employee()
{
}
public Employee(string Employeename, string Designation, int EmployeeID)
{
this.Employeename = Employeename;
this.Designation = Designation;
this.EmployeeID = EmployeeID;
}
}

Ausgabe:

C# XmlSerializer

Im obigen Programm ist eine Klasse namens check definiert. Anschließend wird die Hauptmethode aufgerufen, in der die Instanz von XmlSerializer erstellt wird, die zum Codieren der Mitarbeiterdaten in XML verwendet wird. Anschließend wird eine Klasse mit dem Namen „Mitarbeiter“ definiert, die die Elemente und erforderlichen Attribute initialisiert, die die Methode „Mitarbeiter“ definiert haben, um den Namen des Mitarbeiters, die Bezeichnung des Mitarbeiters und die Mitarbeiter-ID des Mitarbeiters zu übernehmen. Die Ausgabe ist im Schnappschuss oben dargestellt.

Fazit

In diesem Tutorial verstehen wir das Konzept von XmlSerializer in C# durch Definition, die Syntax von XmlSerializer und die Funktionsweise von XmlSerializer in C# durch Programmierbeispiele und deren Ausgaben.

Das obige ist der detaillierte Inhalt vonC# XmlSerializer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:C#-ErweiterungsmethodenNächster Artikel:C#-Erweiterungsmethoden