一个生成xml的方法

一个生成xml的方法,使用xmlWriter进行操作,内容写入sb。
/// <summary>

        /// 获取追溯信息XML流

        /// </summary>

        /// <param name="traceCode">追溯码</param>

        /// <returns>GB2312处理的XML流</returns>

        public byte[] GetSETraceInfo(string traceCode)

        {



            TraceContentBLL bll = new TraceContentBLL();

            //获得信息列表

            string productname = bll.GetProductName(traceCode);



            if (string.IsNullOrEmpty(productname))

            {

                byte[] err = new byte[1];

                err[0] = (byte)1;

                return err;

            }

            XmlWriterSettings settings = new XmlWriterSettings();

            settings.Encoding = Encoding.UTF8;

            settings.Indent = true;



            StringBuilder sb = new StringBuilder();

            XmlWriter writer = XmlWriter.Create(sb, settings);

            //加入头信息

            writer.WriteProcessingInstruction("xml", "version=/"1.0/" encoding=/"utf-8/" standalone=/"yes/"");

            writer.WriteStartElement(productname);



            DataSet process = bll.GetProcessName(traceCode);

            foreach (DataRow pRow in process.Tables[0].Rows)

            {

                writer.WriteStartElement(pRow[0].ToString());



                DataSet recordno = bll.GetRecordNo(traceCode, pRow[0].ToString());

                foreach (DataRow rr in recordno.Tables[0].Rows)

                {

                    writer.WriteStartElement("记录" + rr[0].ToString());



                    DataSet traceinfo = bll.GetContents(traceCode, pRow[0].ToString(), rr[0].ToString());

                    foreach (DataRow tRow in traceinfo.Tables[0].Rows)

                    {

                        writer.WriteStartElement(tRow[0].ToString());

                        writer.WriteValue(tRow[1].ToString());

                        writer.WriteEndElement();

                    }

                    writer.WriteEndElement();

                }

                writer.WriteEndElement();

            }



            writer.WriteEndElement();

            writer.WriteEndDocument();

            writer.Close();

            byte[] temp = System.Text.Encoding.GetEncoding("GB2312").GetBytes(sb.ToString());



            return temp;

        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值