EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

C# XmlSerializer

Home » Software Development » Software Development Tutorials » C# Tutorial » C# XmlSerializer

C# XmlSerializer

Introduction to C# XmlSerializer

The objects that are being encoded into XML can be controlled by making use of XmlSerializer which consists of numerous constructors and whenever a serializer is created and the constructor used is something which does not take a type, then a temporary assembly is created every time. The serializer is created which allows serialization and deserialization of objects into the documents of XML and from the documents of XML and the members of XmlSerialiizer are 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). In this topic, we are going to learn about C# XmlSerializer.

The syntax:

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

XmlSerializer serializer_name = new XmlSerializer(type);

where serializer_name is the object name of the XmlSerializer

Working of XmlSerializer in C#

  • Whenever there is a need to control the objects that are being encoded into XML, we make use of XmlSerializer in C#.
  • The XmlSerializer consists of numerous constructors.
  • Whenever a serializer is created and the constructor used is something which does not take a type, then a temporary assembly is created every time, the serializer is created which allows serialization and deserialization of objects into the documents of XML and from the documents of XML.
  • The members of XmlSerialiizer are 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 ).

Examples of C# XmlSerializer

Here are the following examples mentioned :

Example #1

C# program to demonstrate XmlSerializer to encode the given book details into 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;
}
}

Output:

C# XmlSerializer output 1

In the above program, a class called check is defined. Then the main method is called within which the instance of XmlSerializer is created which is used to encode the details of the book into XML. Then a class called book is defined which initializes the elements and required attributes that defined the method book to take the name of the author of the book, name of the book, and the year. The output is shown in the snapshot above.

Example #2

C# program to demonstrate XmlSerializer to encode the given student details into 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;
}
}

Popular Course in this category
C# Training Program (6 Courses, 17 Projects)6 Online Courses | 17 Hands-on Project | 89+ Hours | Verifiable Certificate of Completion | Lifetime Access
4.6 (8,948 ratings)
Course Price

View Course

Related Courses
ASP.NET Training (8 Courses, 19 Projects).NET Training Program (4 Courses, 19 Projects)

Output:

C# XmlSerializer output 2

In the above program, a class called check is defined. Then the main method is called within which the instance of XmlSerializer is created which is used to encode the details of the student into XML. Then a class called student is defined which initializes the elements and required attributes that defined the method student to take the name of the student, name of the subject, and the name of the topic. The output is shown in the snapshot above.

Example #3

C# program to demonstrate XmlSerializer to encode the given employee details into 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;
}
}

Output:

C# XmlSerializer output 3

In the above program, a class called check is defined. Then the main method is called within which the instance of XmlSerializer is created which is used to encode the details of the employee into XML. Then a class called employee is defined which initializes the elements and required attributes that defined the method employee to take the name of the employee, the designation of the employee, and the employee ID of the employee. The output is shown in the snapshot above.

Conclusion

In this tutorial, we understand the concept of XmlSerializer in C# through definition, the syntax of XmlSerializer, and the working of XmlSerializer in C# through programming examples and their outputs.

Recommended Articles

This is a guide to C# XmlSerializer. Here we discuss the working of XmlSerializer in C# along with programming examples. You may also look at the following articles to learn more –

  1. Web Services in C#
  2. C# StreamWriter
  3. C# LinkedList
  4. C# Pattern Matching

All in One Software Development Bundle (600+ Courses, 50+ projects)

600+ Online Courses

50+ projects

3000+ Hours

Verifiable Certificates

Lifetime Access

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
C sharp Tutorial
  • Advanced
    • Inheritance in C#
    • Exception Handling in C#
    • Types of Exception in C#
    • C# FileNotFoundException
    • C# NullReferenceException
    • C# OutOfMemoryException
    • C# StackOverflowException
    • Custom Exception in C#
    • What is Multithreading in C#
    • C# finally
    • C# System.IO
    • What is StringBuilder in C#
    • DataReader C#
    • BinaryWriter in C#
    • C# BinaryReader
    • TextWriter in C#
    • TextReader in C#
    • C# StringReader
    • C# StringWriter
    • C# StreamReader
    • C# StreamWriter
    • C# FileInfo
    • What is Design Pattern in C#?
    • Multithreading in C#
    • Sorting in C#
    • Bubble Sort in C#
    • C# SortedList
    • C# SortedSet
    • C# SortedDictionary
    • Abstract Class in C#
    • Access Modifiers in C#
    • C# Generics
    • Deserialization in C#
    • C# Thread
    • C# Thread Join
    • C# Thread Sleep
    • C# Thread Synchronization
    • C# Class
    • Sealed in C#
    • Sealed Class in C#
    • Polymorphism in C#
    • C# References
    • C# Call By Reference
    • Virtual Keyword in C# 
    • Yield Keyword in C#
    • Regular Expression in C#
    • C# Lambda Expression
    • C# Predicate
    • Convert Object to JSON C#
    • Checkbox in C#
    • C# MessageBox
    • Collections in C#
    • List in C#
    • C# LinkedList
    • Listbox in C#
    • Protected in C#
    • C# EventHandler
    • Private in C#
    • this Keyword in C#
    • Static Keyword in C#
    • C# Out Parameter
    • Assert in C#
    • C# Delegates
    • C# Interface
    • Generics in C#
    • Timer in C#
    • C# Serialization
    • Metadata in C#
    • C# Stack
    • C# Using Static
    • Queue in C#
    • C# File.Exists
    • C# Tuples
    • C# Create JSON Object
    • Partial in C#
    • C# readonly
    • C# Action Delegate
    • C# Await Async
    • C# Dictionary
    • IEnumerable C#
    • C# Data Grid View
    • C# Dynamic
    • Web Services in C#
    • C# Pattern Matching
    • C# Extension Methods
    • C# XmlSerializer
  • Basic
    • Uses Of C#
    • C# Versions
    • C# Data Types
    • Variables in C#
    • Namespaces in C#
    • C# Compilers
    • C# Keywords
    • Iterators in C#
    • Objects in C#
    • C# Object Dispose
    • C# object to XML
    • C# check object type
    • C# Object Serialization
    • Pointers in C#
    • C# Literals
    • C# Commands
    • C# Custom Attribute
    • Type Casting in C#
    • String vs String C#
    • C# Struct vs Class
  • Operators
    • Logical Operators in C#
    • Conditional Operators in C#
    • Bitwise Operators in C#
    • C# OR Operator
    • C# Ternary Operators
    • Operator Precedence in C#
  • Control Statement
    • C# if Statement
    • Else If in C#
    • Continue in C#
    • Break in C#
    • Switch Statement in C#
    • Goto Statement in C#
  • Loops
    • C# For Loop
    • C# While Loop
    • C# do-while loop
    • C# foreach Loop
  • Arrays
    • Arrays in C#
    • 2D Arrays in C#
    • C# Jagged Arrays
    • String Array in C#
    • C# Multidimensional Arrays
  • Constructor and Destructor
    • Constructor in C#
    • Copy Constructor in C#
    • Static Constructor in C#
    • Destructor in C#
  • overloading and overrideing
    • Overloading and Overriding in C#
    • Overloading in C#
    • Overriding in C#
    • Method Overloading in C#
    • Method Overriding in C#
    • Operator Overloading in C#
  • Functions
    • C# Functions
    • C# String Functions
    • Math Functions in C#
    • Recursive Function in C#
    • C# Anonymous Functions
    • C# Local Functions
    • Enum in C#
    • Trim() in C#
    • clone() in C#
    • C# random
    • C# String Format()
    • C# String Interpolation
    • C# StartsWith()
    • C# String IndexOf()
    • DateTime in C#
    • C# Nullable
    • C# nameof
    • C# checked
    • C# String PadLeft
    • Convert String to Double in C#
    • Convert int to String C#
    • String to Date C#
    • C# intern()
    • C# Stopwatch
    • C# DirectoryInfo
    • C# Compare()
    • C# Base
    • C# SOAP
    • Lock in C#
  • Programs
    • Patterns in C#
    • Swapping in C#
    • Palindrome in C#
    • Factorial in C#
    • Fibonacci Series in C#
    • Random Number Generator in C#
    • Prime Numbers in C#
    • Armstrong Number in C#
    • Reverse String in C#
  • Interview questions
    • C# Interview Questions and Answers
    • C# OOP Interview Questions
    • C# Design Pattern Interview Questions

Related Courses

C# Certification Training

ASP.NET Course

.NET Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - C# Certification Training Learn More