Generate C# class from XML Generate C# class from XML xml xml

Generate C# class from XML


If you are working on .NET 4.5 project in VS 2012 (or newer), you can just Special Paste your XML file as classes.

  1. Copy your XML file's content to clipboard
  2. In editor, select place where you want your classes to be pasted
  3. From the menu, select EDIT > Paste Special > Paste XML As Classes


Yes, by using xsd.exe

D:\temp>xsd test.xmlMicrosoft (R) Xml Schemas/DataTypes support utility[Microsoft (R) .NET Framework, Version 4.0.30319.1]Copyright (C) Microsoft Corporation. All rights reserved.Writing file 'D:\temp\test.xsd'.D:\temp>xsd test.xsd /classesMicrosoft (R) Xml Schemas/DataTypes support utility[Microsoft (R) .NET Framework, Version 4.0.30319.1]Copyright (C) Microsoft Corporation. All rights reserved.Writing file 'D:\temp\test.cs'.

Notes

Answer how to change directory in Developer Command Prompt to d:\temp may be useful.

If you generate classes for multi-dimensional array, there is a bug in XSD.exe generator, but there are workarounds.


At first I thought the Paste Special was the holy grail! But then I tried it and my hair turned white just like the Indiana Jones movie.

But now I use http://xmltocsharp.azurewebsites.net/ and now I'm as young as ever.

Here's a segment of what it generated:

namespace Xml2CSharp{    [XmlRoot(ElementName="entry")]    public class Entry {        [XmlElement(ElementName="hybrisEntryID")]        public string HybrisEntryID { get; set; }        [XmlElement(ElementName="mapicsLineSequenceNumber")]        public string MapicsLineSequenceNumber { get; set; }