我想编写一个使用C#创建xml文件的通用方法。
假设我的XML Skeleton如下所示
<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输出。
答案 0 :(得分:0)
将对象转换为XML称为“对象序列化” - 获取内存中对象并将其转换为可写入磁盘或通过网络发送的XML的过程。任何对象都可以序列化(转换为XML或JSON)。
这是一个指向如何在C#中执行此操作的教程的链接: http://support.microsoft.com/kb/815813