将XML反序列化为C#对象

Bob*_*Bob 3 .net c#

如何使用C#将以下CatalogProduct标记解除扩展到我的CatalogProduct对象?

<?xml version="1.0" encoding="UTF-8"?>
<CatalogProducts>
    <CatalogProduct Name="MyName1" Version="1.1.0"/>
    <CatalogProduct Name="MyName2" Version="1.1.0"/>
</CatalogProducts>
Run Code Online (Sandbox Code Playgroud)

注意我没有CatalogProducts对象,所以想要在拉回到反序列化时跳过该元素

谢谢

Chr*_*way 5

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
        };
Run Code Online (Sandbox Code Playgroud)