webservices返回结果解决方法
做了一个webservices接口,返回结果是数据集
strSql = "select id,infotitle,infocontent,businesstype from [Esa_Information].[dbo].[information] where businessType='" + businesstype + "' and endtime>='" + DateTime.Now.ToString("yyyy-MM-dd") + "'";
SqlDataAdapter adp4 = new SqlDataAdapter(strSql, strConn);
DataSet myxiaoxi1 = new DataSet();
adp4.Fill(myxiaoxi1, strConn);
if (myxiaoxi1.Tables[0].Rows.Count > 0)
{
return myxiaoxi1.GetXml();
}
结果中都是数据库查询的结果,我想加进一些其他内容,比如,成功,失败等信息,像下边这样,怎样加
<?xml version="1.0" encoding="UTF-8"?>
<data>
<message>
<status>0</status>
<value>处理成功</value>
</message>
<sameName>
<sameNameInfo msgname="王伟" >
<message>
<status>0</status>
<desc>查询成功</desc>
</message>
<countByArea desc="地区 1:人数;地区 2:人数;……">
山西省:5;河北省:3;北京市:2;天津市:1;
</countByArea>
</sameNameInfo>
</sameName>
</data>
------解决思路----------------------
定义一个类去包含你要返回的东西
比如
Response<T>
{
public int Result{get;set;}
public T ResponseBody{get;set;}
}
------解决思路----------------------
WS返回的是SOAP,本质是XML,怎么可能不能跨平台,只是其它语言不知道怎么解析这种数据结构而已
如果你希望其它语言也能自动解析,那最好还是定义成实体
至于序列化,那是肯定必须的