博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Convert Object to XML using LINQ
阅读量:6874 次
发布时间:2019-06-26

本文共 9135 字,大约阅读时间需要 30 分钟。

Convert Object to XML using LINQ. Also the object contains other object list.

Following is the Classes used in our program:

public class Order    {        public string OrderId { get; set; }        public string OrderNumber { get; set; }        public string OrderDate { get; set; }        public string OrderValue { get; set; }        public string Reference1 { get; set; }        public string Reference2 { get; set; }        public string DeliveryNotes { get; set; }        public string Status { get; set; }        public BillingCustomer OrderBillingCustomer { get; set; }        public EndCustomer OrderEndCustomer { get; set; }        public List
OrderLineItem { get; set; } } public class BillingCustomer { public string AccountID { get; set; } public string AccountName { get; set; } public string AccountNumber { get; set; } public string ABN { get; set; } public string GPID { get; set; } public string Address { get; set; } public string Suburb { get; set; } public string Postcode { get; set; } public string State { get; set; } public string Phone { get; set; } public string Tax { get; set; } public string Email { get; set; } public string CreditType { get; set; } } public class EndCustomer { public string FirstName { get; set; } public string LastName { get; set; } public string Phone { get; set; } public string Mobile { get; set; } public string Email { get; set; } public string Address1 { get; set; } public string Address2 { get; set; } public string Address3 { get; set; } public string Suburb { get; set; } public string Postcode { get; set; } public string State { get; set; } public string Country { get; set; } } public class OrderLineItem { public string LineItemID { get; set; } public string SKU { get; set; } public string Title { get; set; } public string Quantity { get; set; } public string SalesPriceEx { get; set; } public string SalesPriceInc { get; set; } public string DispatchPoint { get; set; } public string FreightMethod { get; set; } public string Status { get; set; } public string OrderID { get; set; } }

 

 

So now you can see the detail of our function:

public static void GenerateXmlFile(List
orderList, string orderExportXmlPath) { XDocument orderDoc = new XDocument( new XElement("Orders", from orderItem in orderList select new XElement("Order", new XElement("OrderID", orderItem.OrderId), new XElement("OrderNumber", orderItem.OrderNumber), new XElement("OrderDate", orderItem.OrderDate), new XElement("OrderValue", orderItem.OrderValue), new XElement("Reference1", orderItem.Reference1), new XElement("Reference2", orderItem.Reference2), new XElement("DeliveryNotes", orderItem.DeliveryNotes), new XElement("Account", new XElement("AccountID", orderItem.OrderBillingCustomer.AccountID), new XElement("AccountName", orderItem.OrderBillingCustomer.AccountName), new XElement("AccountNumber", orderItem.OrderBillingCustomer.AccountNumber), new XElement("ABN", orderItem.OrderBillingCustomer.ABN), new XElement("GPID", orderItem.OrderBillingCustomer.GPID), new XElement("Address", orderItem.OrderBillingCustomer.Address), new XElement("Suburb", orderItem.OrderBillingCustomer.Suburb), new XElement("Postcode", orderItem.OrderBillingCustomer.Postcode), new XElement("State", orderItem.OrderBillingCustomer.State), new XElement("Phone", orderItem.OrderBillingCustomer.Phone), new XElement("Tax", orderItem.OrderBillingCustomer.Tax), new XElement("Email", orderItem.OrderBillingCustomer.Email), new XElement("CreditType", orderItem.OrderBillingCustomer.CreditType) ), new XElement("EndCustomer", new XElement("FirstName", orderItem.OrderEndCustomer.FirstName), new XElement("LastName", orderItem.OrderEndCustomer.LastName), new XElement("Phone", orderItem.OrderEndCustomer.Phone), new XElement("Mobile", orderItem.OrderEndCustomer.Mobile), new XElement("Email", orderItem.OrderEndCustomer.Email), new XElement("Address1", orderItem.OrderEndCustomer.Address1), new XElement("Address2", orderItem.OrderEndCustomer.Address2), new XElement("Address3", orderItem.OrderEndCustomer.Address3), new XElement("Suburb", orderItem.OrderEndCustomer.Suburb), new XElement("Postcode", orderItem.OrderEndCustomer.Postcode), new XElement("State", orderItem.OrderEndCustomer.State), new XElement("Country", orderItem.OrderEndCustomer.Country) ), new XElement("LineItems", from item in orderItem.OrderLineItem select new XElement("LineItem", new XElement("LineItemID", item.LineItemID), new XElement("SKU", item.SKU), new XElement("Title", item.Title), new XElement("Quantity", item.Quantity), new XElement("SalesPriceEx", item.SalesPriceEx), new XElement("SalesPriceInc", item.SalesPriceInc), new XElement("DispatchPoint", item.DispatchPoint), new XElement("FreightMethod", item.FreightMethod) ) ) ))); orderDoc.Save(orderExportXmlPath); }

 

Finally we can get the Xml file:

a00O0000003ZbnEIAS
CM000-047
2013-11-07T00:00:00.000Z
2519.95
11
22
node001
0019000000RXEOVAA5
Test Commercial Customer
3000
VIC
03 9304 8000
test@test.com
Amount
11
22
33
Finalised
a01O0000007CQ9BIAW
a12345
product a
10.0
10.5
11.55
a02O0000005aDHWIA2
Pickup
a01O0000007F71EIAS
20000001
FLEETWOOD MAC - THE DANCE
20.0
6.43
7.07
a02O0000005aDHWIA2
Pickup
a01O0000007F71FIAS
928186
HONEY
50.0
9.07
9.98
a02O0000005aDHcIAM
Pickup

 

..................

 

 

 

 

转载地址:http://sypfl.baihongyu.com/

你可能感兴趣的文章
poj 1523 SPF
查看>>
matploitlib plot 的marker--new
查看>>
CRUX下实现进程隐藏(2)
查看>>
【转载】mysql 开启慢查询 清空slow_log日志或者slow_log表
查看>>
在电子商务里,一般会提到这样几个词:商品、单品、SPU、SKU
查看>>
【转】mysql-5..6.23-win64.zip安装及配置
查看>>
dotnet Core 学习(三):多项目
查看>>
个人总结阅读作业
查看>>
Superset 制作图表
查看>>
国有航空为啥“放下身段”读春秋?
查看>>
Pinpoint 安装部署
查看>>
TCP/UDP常见端口参考
查看>>
[转] VB6.0 Dictionary 排序,生成Sign
查看>>
selenium IDE安装与使用
查看>>
GNU C - Using GNU GCC __attribute__ mechanism 02 Variable Attribute && Type Attribute
查看>>
java 反射机制的概念
查看>>
回调函数和钩子函数的区别
查看>>
jsp之tomcat安装
查看>>
Vue导航守卫
查看>>
Xsocket学习
查看>>