ホームページ  >  記事  >  バックエンド開発  >  C# XmlSerializer

C# XmlSerializer

WBOY
WBOYオリジナル
2024-09-03 15:33:031319ブラウズ

XML にエンコードされているオブジェクトは、多数のコンストラクターで構成される XmlSerializer を利用することで制御できます。シリアライザーが作成され、使用されるコンストラクターが型をとらないものである場合は、毎回一時アセンブリが作成されます。時間。 XML ドキュメントへの、および XML ドキュメントからのオブジェクトのシリアル化と逆シリアル化を可能にするシリアライザーが作成されます。XmlSerializer のメンバーは、XmlSerializer、XmlSerializer(Type)、XmlSerializer(XmlTypeMapping)、XmlSerializer(Type, String)、XmlSerializer(Type) です。 、Type())、XmlSerializer(Type, XmlAttributeOverrides)、XmlSerializer(Type, XmlRootAttribute)、XmlSerializer(Type, XmlAttributeOverrides, Type(), XmlRootAttribute, String)、XmlSerializer(Type, XmlAttributeOverrides, Type(), XmlRootAttribute, String, String )、XmlAttributeOverrides、Type()、XmlRootAttribute、String、String、Evidence)。このトピックでは、C# XmlSerializer について学習します。

構文:

XmlSerializer serializer_name = new XmlSerializer(type);

serializer_name は XmlSerializer のオブジェクト名です

C# での XmlSerializer の動作

  • XML にエンコードされるオブジェクトを制御する必要がある場合は、C# の XmlSerializer を使用します。
  • XmlSerializer は多数のコンストラクターで構成されます。
  • シリアライザーが作成され、使用されるコンストラクターが型をとらないものである場合、そのたびに一時アセンブリが作成され、XML ドキュメントへのオブジェクトのシリアル化とドキュメントからのオブジェクトのシリアル化と逆シリアル化を可能にするシリアライザーが作成されます。 XML の。
  • XmlSerializer のメンバーは、XmlSerializer、XmlSerializer( Type )、XmlSerializer( XmlTypeMapping )、XmlSerializer( Type, String )、XmlSerializer( Type, Type() )、XmlSerializer( Type, XmlAttributeOverrides )、XmlSerializer( Type, XmlRootAttribute )、 XmlSerializer( Type, XmlAttributeOverrides, Type(), XmlRootAttribute, String )、XmlSerializer( Type, XmlAttributeOverrides, Type(), XmlRootAttribute, String, String )、XmlAttributeOverrides, Type(), XmlRootAttribute, String, String, Evidence ).

C# XmlSerializer の例

次に挙げる例は次のとおりです。

例 #1

指定された書籍の詳細を XML にエンコードする XmlSerializer をデモする C# プログラム。

コード:

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

出力:

C# XmlSerializer

上記のプログラムでは、checkというクラスが定義されています。次に main メソッドが呼び出され、その中で本の詳細を XML にエンコードするために使用される XmlSerializer のインスタンスが作成されます。次に、book というクラスが定義され、本の著者の名前、本の名前、年を取得するメソッド book を定義した要素と必須属性が初期化されます。出力は上のスナップショットに示されています。

例 #2

指定された生徒の詳細を XML にエンコードする XmlSerializer をデモする C# プログラム。

コード:

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

出力:

C# XmlSerializer

上記のプログラムでは、checkというクラスが定義されています。次に main メソッドが呼び出され、その中で生徒の詳細を XML にエンコードするために使用される XmlSerializer のインスタンスが作成されます。次に、student というクラスが定義され、このクラスは、学生の名前、主題の名前、およびトピックの名前を取得するメソッド Student を定義した要素と必須属性を初期化します。出力は上のスナップショットに示されています。

例 #3

指定された従業員の詳細を XML にエンコードする XmlSerializer をデモする C# プログラム。

コード:

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

出力:

C# XmlSerializer

上記のプログラムでは、checkというクラスが定義されています。次に main メソッドが呼び出され、その中で従業員の詳細を XML にエンコードするために使用される XmlSerializer のインスタンスが作成されます。次に、employee というクラスが定義され、従業員の名前、従業員の指定、および従業員の従業員 ID を取得するメソッドemployee を定義した要素と必須属性を初期化します。出力は上のスナップショットに示されています。

結論

このチュートリアルでは、定義を通じて C# の XmlSerializer の概念、XmlSerializer の構文、プログラミング例とその出力を通じて C# での XmlSerializer の動作を理解します。

以上がC# XmlSerializerの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:C# 拡張メソッド次の記事:C# 拡張メソッド