当前位置: 代码迷 >> Web Service >> 怎么把一个dataset或者dataTable转换成xml并返回呢
  详细解决方案

怎么把一个dataset或者dataTable转换成xml并返回呢

热度:240   发布时间:2016-05-02 02:53:32.0
如何把一个dataset或者dataTable转换成xml并返回呢?
conn.Open();
  SqlCommand cmd = new SqlCommand("GetName", conn);
  cmd.CommandType = CommandType.StoredProcedure;
  cmd.Parameters.Add(new SqlParameter("@Name", Name));
  
  SqlDataAdapter adapter = new SqlDataAdapter(cmd);
  System.Data.DataSet ds = new System.Data.DataSet();
  adapter.Fill(ds);

  StringBuilder sb = new StringBuilder();
  XmlSerializer oSerializer = new XmlSerializer(typeof(DataSet));

  StringWriter sw = new StringWriter(sb);
  oSerializer.Serialize(sw, ds);
  returnValue = sb.ToString();
这样能return一个string,然后asp页面中在Dserializer成dataset,也很简单,不过现在的新要求是这个method直接返回一个xml,还得有scheme,这样只要在浏览器中输入web service的url,然后选择这个web method,就直接在当前浏览器中看接过了。

用DataSet.WriteXML? 好像只能写到当地文件。



------解决方案--------------------
xml不就是string吗,不是很了解你的意思。
------解决方案--------------------
DataSet.WriteXML提供很多overload
WriteXml(TextWriter)
WriteXml(Stream)
。。。

应该可以满足你的要求

另外还有WriteXmlSchema函数,可以输出Scheme,应该可以满足你的要求
也有很多overload
WriteXmlSchema(Stream)
WriteXmlSchema(TextWriter)
。。。
------解决方案--------------------
DataSet就是XML,除非你想在网络上传递时进行压缩和解压。
------解决方案--------------------
将dataTable或ds中的数据存放到对象数组中,用json转成传输的对象json数组,很方便的,什么语言都很方便解析,我们项目中对外的服务都是这么做的
------解决方案--------------------
dataset.getxml()
------解决方案--------------------
你可以在web service的方法里面序列化datatable,然后在项目里新建个页面在后台反序列化字符串,绑定repeater,还有用户直接去看webservice的?
------解决方案--------------------
答案都在上面,楼主自己拣吧
------解决方案--------------------
dataset.getxml()
  相关解决方案