ToXML 1.0.0

dotnet add package ToXML --version 1.0.0                
NuGet\Install-Package ToXML -Version 1.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ToXML" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ToXML --version 1.0.0                
#r "nuget: ToXML, 1.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ToXML as a Cake Addin
#addin nuget:?package=ToXML&version=1.0.0

// Install ToXML as a Cake Tool
#tool nuget:?package=ToXML&version=1.0.0                

ToXML

Small extension that converts objects to xml and vice versa Download NuGet Package

What is it for

Imagine what we need receive c# object as xml element

For example we have

class Product
{
    public string Title { get; set; }

    public string Description { get; set; }

    public decimal Price { get; set; }

    public int Discount { get; set; }

    public DateTime AddedDate { get; set; }
}

And it's instance

Product testProduct = new Product
{
    Title = "Milk",
    Description = "Tasty Tasty milk",
    Price = 10,
    Discount = 5,
    AddedDate = DateTime.Now
};

ToXML prodives special class called "XMLConverter"

We can use it's ObjectToXML method, that allows convert object to xml

XElement xmlProduct = XMLConverter.ObjectToXML(product);

//and save it in document
strin path = "your path";
XDocument document = new XDocument();
document.Add(xmlProduct);
document.Save(path);

image

ToXML provides object extension for more convenient, so we can do the same in other way

XElement xmlProduct = product.ToXML():

Some settings

ToXML also has few attributes to define how pase object

  • XMLName - allows to set your name of class/property
  • XMLParsable - allows to enable/disable class/property converter parse

For example for that

class Product
{
    [XMLName("Name")]
    public string Title { get; set; }

    public string Description { get; set; }

    public decimal Price { get; set; }
    
    [XMLParsable(false)]
    public int Discount { get; set; }

    public DateTime AddedDate { get; set; }
}

We receive following result

image

How we can see, "Title" was renamed as "Name" and "Discount" was ignored by converter

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.1

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 252 3/10/2022