public static void createWorkListHeadXML(WorkListHeadClass stockInOutClass, string fileName) { StringBuilder xmlResult = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"); xmlResult.AppendFormat("<HCHX_DATA xmlns=\"http://HCHX.Schemas.WORK_ORDER_HEAD\">\n"); xmlResult.Append("<TRANSMIT>\n"); xmlResult.AppendFormat("<SEQ_NO>{0}</SEQ_NO>\n", stockInOutClass.seq_no); xmlResult.AppendFormat("<BOXTYPE>{0}</BOXTYPE>\n", stockInOutClass.boxtype); xmlResult.AppendFormat("<FLOWSTATEG>{0}</FLOWSTATEG>\n", stockInOutClass.flowstateg); xmlResult.AppendFormat("<TRADE_CODE>{0}</TRADE_CODE>\n", stockInOutClass.trade_code); xmlResult.AppendFormat("<EMS_NO>{0}</EMS_NO>\n", stockInOutClass.ems_no); xmlResult.AppendFormat("<STATUS>{0}</STATUS>\n", stockInOutClass.status); xmlResult.Append("</TRANSMIT>\n"); foreach (WorkOrderHead storeTrans in stockInOutClass.workOrderHeadList) { xmlResult.Append("<WORK_ORDER_HEAD>\n"); xmlResult.AppendFormat("<WO_NO>{0}</WO_NO>\n", storeTrans.wo_no); xmlResult.AppendFormat("<WO_DATE>{0}</WO_DATE>\n", storeTrans.wo_date); xmlResult.AppendFormat("<GOODS_NATURE>{0}</GOODS_NATURE> \n", storeTrans.goods_nature); xmlResult.AppendFormat("<COP_G_NO>{0}</COP_G_NO>\n", storeTrans.cop_g_no); xmlResult.AppendFormat("<QTY>{0}</QTY>\n", storeTrans.qty); xmlResult.AppendFormat("<UNIT>{0}</UNIT>\n", storeTrans.unit); xmlResult.AppendFormat("<EMS_NO>{0}</EMS_NO>\n", storeTrans.emo_no); xmlResult.Append("</WORK_ORDER_HEAD>\n"); } xmlResult.Append("</HCHX_DATA>\n"); //写入文件 try { //1.创建文件流 FileStream fileStream = new FileStream(fileName, FileMode.Create); //2.创建写入器 StreamWriter streamWriter = new StreamWriter(fileStream); //3.将内容写入文件 streamWriter.WriteLine(xmlResult); //4.关闭写入器 streamWriter.Close(); //5.关闭文件流 fileStream.Close(); } catch (Exception e) { } }
private void exportxmlbutton_Click(object sender, EventArgs e) { WorkListHeadClass workListHead = new WorkListHeadClass(); List <WorkOrderHead> workOrderHeadList = new List <WorkOrderHead>(); string seq_no = DateTime.Now.ToString("yyyyMMdd") + "4002" + "1"; //日期+类型,后面需要加入序号信息 string boxtype = "4002"; //代码 string flowstateg = ""; string trade_code = ""; string ems_no = ""; string status = "A"; string today = DateTime.Now.ToString("yyyy/MM/dd"); try { SqlConnection mConn = new SqlConnection(Constlist.ConStr); mConn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = mConn; cmd.CommandType = CommandType.Text; cmd.CommandText = "select indentifier, book_number from company_fixed_table"; SqlDataReader querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { trade_code = querySdr[0].ToString(); ems_no = querySdr[1].ToString(); } querySdr.Close(); //报关出库的板子 cmd.CommandText = "select track_serial_no,return_date ,custom_serial_no,declare_unit from returnStore inner join receiveOrder on receiveOrder.orderno = returnStore.orderno where return_date='" + today + "'"; querySdr = cmd.ExecuteReader(); while (querySdr.Read()) { WorkOrderHead init1 = new WorkOrderHead(); init1.wo_no = querySdr[0].ToString(); init1.wo_date = today; init1.goods_nature = "E"; init1.cop_g_no = querySdr[2].ToString(); init1.qty = "1"; init1.unit = querySdr[4].ToString(); init1.emo_no = ems_no; workOrderHeadList.Add(init1); } querySdr.Close(); mConn.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } workListHead.seq_no = seq_no; workListHead.boxtype = boxtype; workListHead.flowstateg = flowstateg; workListHead.trade_code = trade_code; workListHead.ems_no = ems_no; workListHead.status = status; workListHead.workOrderHeadList = workOrderHeadList; Untils.createWorkListHeadXML(workListHead, "D:\\WO_HEAD" + seq_no + ".xml"); MessageBox.Show("finish"); }