Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Deserialize XML into a C# object

Tags:

c#

.net

How can I desearlize the below CatalogProduct tags into my CatalogProduct object using C#?

<?xml version="1.0" encoding="UTF-8"?>
<CatalogProducts>
    <CatalogProduct Name="MyName1" Version="1.1.0"/>
    <CatalogProduct Name="MyName2" Version="1.1.0"/>
</CatalogProducts>

Note i don't have a CatalogProducts object so want to skip that element when pulling back the into to deserialize

Thanks

like image 460
Bob Avatar asked Aug 31 '25 22:08

Bob


1 Answers

var xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
    "<CatalogProducts>" +
        "<CatalogProduct Name=\"MyName1\" Version=\"1.1.0\"/>" +
        "<CatalogProduct Name=\"MyName2\" Version=\"1.1.0\"/>" +
    "</CatalogProducts>";
var document = XDocument.Parse(xml);

IEnumerable<CatalogProduct> catalogProducts =
        from c in productsXml.Descendants("CatalogProduct")
        select new CatalogProduct
        {
            Name = c.Attribute("Name").Value,
            Version = c.Attribute("Version").Value
        };
like image 199
Chris Conway Avatar answered Sep 03 '25 14:09

Chris Conway