c# DataSet写出XML,返回为文本

//  如果下面的方法不起作用的话  就把你的 前台页面  除了声明行,都给他注释掉  只留下 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="EarMarkWeb.Test" %>,就可以看到想要的效果了

public string WriteXml(string EarmarkCode, string MAC, string AppSystemName, string QueryUserName, string QueryUserOrg)
        {        


                Response.AddHeader("Accept-Charset", "UTF-8");
                Response.AddHeader("Content-type", "text/xml");
                Response.AddHeader("contentType", "utf-8");            string strXml = @"<?xml version='1.0'?><PREVENTIONINFO/>"; //XML格式标头
            DataTable dt = new DataTable(); 
            dt = GetEarmarkInjectMessage(EarmarkCode).Tables[0];
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(strXml);
            XmlNode root = doc.SelectSingleNode("//PREVENTIONINFO");   // 声明根节点

            foreach (DataRow row in dt.Rows)                           // 循环取得节点名称和节点的文本值
            {
                XmlElement inject = doc.CreateElement("节点名");           // 子节点

                XmlElement element = doc.CreateElement("节点名");        //定义节点名称
                element.InnerText = row["字段名"].ToString();      // 指定相应的 字段值
                inject.AppendChild(element);

                element = doc.CreateElement("节点名");
                element.InnerText = row["字段名"].ToString();
                inject.AppendChild(element);

                element = doc.CreateElement("节点名");
                element.InnerText = row["字段名"].ToString();
                inject.AppendChild(element);

                element = doc.CreateElement("节点名");
                element.InnerText = row["字段名"].ToString();
                inject.AppendChild(element);

                element = doc.CreateElement("节点名");
                element.InnerText = row["字段名"].ToString();
                inject.AppendChild(element);                        //把子节点 element 加入父节点 inject
                
                root.AppendChild(inject);                       //把子节点 inject 加入根节点 root

            }
            doc.AppendChild(root);
            return doc.OuterXml;                               // 返回文本值(outerXml 默认已经将XML格式的数据转化为文本了)
        }

 ==============================================================================================

方法2:

public string WriteXml(DataTable dt)
        {
            string strXml = @"<?xml version='1.0'?><tagDataTable/>";//xml文件头部信息
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(strXml);
            XmlNode root = doc.SelectSingleNode("//tagDataTable");//找到根结点

            for(int i=0;i<dt.Rows.Count;i++)
            {
                XmlElement xe = doc.CreateElement("Row");//二级子节点
                XmlElement element = null;
                //设置三级子节点
                for(int j=0;j<dt.Columns.Count;j++)
                {
                    element = doc.CreateElement(dt.Columns[j].ColumnName.Trim());
                    element.InnerText = dt.Rows[i][j].ToString().Trim();
                    xe.AppendChild(element);
                }
                root.AppendChild(xe);
            }
            return doc.OuterXml;
        }

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值