需要有关创建用于生成 XML 的通用方法的帮助

本文关键字:XML 帮助 方法 创建 用于 | 更新日期: 2023-09-27 18:32:02

我想编写一个通用的方法,用于使用 C# 创建 xml 文件。

假设我的 XML 框架如下所示

<root>
    <customer>
        <mobile></mobile>
        <email></email>
        <external></external>
        <firstname></firstname>
        <lastname></lastname>
        <gender></gender>
        <registered></registered>
        <custom>
            <field>
                <name></name>
                <value></value>
            </field>
            <field>
                <name></name>
                <value></value>
            </field>
        </custom>
    </customer>         
</root>

如果我将传递一个包含所有必需值的对象,我的方法应该向我返回一个带有值的 xml。

请注意:- 我的xml结构将来可以随时更改。

目前,我已经创建了单独的方法来装箱不同的XML文件。因此,每当 xml 中发生任何更改时,我都必须对方法进行更改并再次部署。

编辑:

我的客户类如下所示

class Customer
    {       
        public string CustomerNumber { get; set; }
        public string Title { get; set; }
        public string county { get; set; }
        public string firstname { get; set; }
        public string lastname { get; set; }
        public string companyname { get; set; }
        public string AddressOne { get; set; }
        public string AddressTwo { get; set; }
        public string AddressThree { get; set; }
        public string city { get; set; }
        public string postcode { get; set; }
        public string country { get; set; }
        public string email { get; set; }
        public string RegisteredStore { get; set; }
        public string mailable { get; set; }
        public string rentable { get; set; }
        public string emailable { get; set; }
        public string JoinDate { get; set; }
        public string CustomerExternalID { get; set; }
        public string customergender { get; set; }
        public string dateofbirth { get; set; }
        public string homenumber { get; set; }
        public string Mobile { get; set; }       
        //Custom Fields
        public string CurrencyRef { get; set; }
        public string InvitationStatus { get; set; }
        public string LastMailDate { get; set; }
        public string LastOrderDate { get; set; }
        public string NearestShop { get; set; }
        public string NearestShopDistance { get; set; }
        public string Region { get; set; }       
        public string ShopperType { get; set; }
    }

使用 XElement,我正在为客户创建 xml,但是当在自定义字段中添加任何新字段时,我必须对代码进行更改以获得所需的 xml 输出。

需要有关创建用于生成 XML 的通用方法的帮助

将对象转换为 XML 称为"对象序列化" - 获取内存中对象并将其转换为可写入磁盘或通过网络发送的 XML 的过程。任何对象都可以序列化(转换为 XML 或 JSON)。

下面是一个教程的链接,该教程演示如何在 C# 中执行此操作:http://support.microsoft.com/kb/815813