Сериализация класса с List<> в XML

Я совсем новичок в XML. Я хочу сериализовать класс, чтобы произвести ниже выходных данных с помощью XMLSerializer:

<?xml version="1.0" encoding="UTF-8"?>
<return  xsi_noNamespaceSchemaLocation="DBK100.xsd">
<header>
    <return-code>DBK100</return-code> 
    <return-desc>Daily Net Open Position</return-desc>
    <inst-code> </inst-code>
    <inst-name> </inst-name>
    <as-at-date> </as-at-date>
</header>
<body>
    <return-data>
        <item-code>10010</item-code>
        <position-component>1. Net Assets</position-component>
        <us-dollar>
            <amount>23423</amount>
            <nature-of-position>vxgfxdfd</nature-of-position>
        </us-dollar>
        <gbp>
            <amount></amount>
            <nature-of-position></nature-of-position>
        </gbp>
    </return-data>
</body>
</return>

1 ответ

  1. 1.Пожалуйста, добавьте с помощью системы.Xml в качестве ссылки;
    2.Создайте класс с именем Item таким образом

         public class Item
                {
                    public string itemCode { get; set; }
                    public string positionComponent { get; set; }
                    public decimal dollarAmount { get; set; }
                    public decimal gdbAmount { get; set; }
            }
    
        try
                    {
                        XmlDocument xmlDoc = new XmlDocument();
                        xmlDoc.Load("Write down full path");
                        XmlNodeList dataNodes = xmlDoc.SelectNodes("/return-data");
    
                        foreach (XmlNode node in dataNodes)
                        {
                            Item objItem = new Item();
    
                       objItem.itemCode=node.SelectSingleNode("item-code").InnerText;
    objItem.positionComponent=node.SelectSingleNode("position-component").InnerText;
    objbook.dollarAmount=Convert.ToDecimal(node.SelectSingleNode("us-dollar/amount").InnerText);
    
    objbook.gdbAmount=Convert.ToDecimal(node.SelectSingleNode("gdb/amount").InnerText);
    
                        }
    
                    }
    catch(Exception ex)
    {
    throw ex;
    }