ToXML 1.0.0
dotnet add package ToXML --version 1.0.0
NuGet\Install-Package ToXML -Version 1.0.0
<PackageReference Include="ToXML" Version="1.0.0" />
paket add ToXML --version 1.0.0
#r "nuget: ToXML, 1.0.0"
// 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);
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
How we can see, "Title" was renamed as "Name" and "Discount" was ignored by converter
Product | Versions 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. |
-
.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 |