Webservice传递的数据只能是序列化的数据,典型的就是xml数据。
/// <summary> /// 通过用户名和密码 返回下行数据 /// </summary> /// <param name="UserName">用户名</param> /// <param name="UserPwd">密码</param> /// <returns></returns> [WebMethod] public XmlDataDocument GetUpMassageDate(string UserName,string UserPwd) { try { XmlDataDocument xd = new XmlDataDocument(); DataSet ds = DbHelpersql.Query("select Mobile,UPMessge,RecordDate from dbo.NA_Activity_Data where ActivityID in( select ActivityID from dbo.NA_Activity where UserID in (select UserID from dbo.NA_User where UserName='" + UserName.Trim() + "' and UserPwd='" + UserPwd.Trim() + "'))"); if (ds != null && ds.Tables.Count > 0) { xd = new XmlDataDocument(ds); XmlNode root1 = xd.DocumentElement; XmlNodeList roots = root1.SelectNodes("ds"); foreach (XmlNode item in roots) { XmlNodeList list = item.SelectNodes("RecordDate"); ds.EnforceConstraints = false; //如果需要修改xml里的数据 需要加上这句 foreach (XmlNode node in list) { //这里是修改XML中 RecordDate的时间格式 原始格式是: <RecordDate>2012-04-20T16:16:00+08:00</RecordDate> node.InnerText = Convert.ToDateTime(node.InnerText.ToString()).ToString("yyyy-MM-dd HH:mm"); } } return xd; } else { return null; } } catch (Exception ex) { return null; } }
引用webservice返回XML数据,解析XML数据并绑定到GridView上
public void DateBind() { UpMassgeWebserive.GetDateUpMassageSoapClient um = new UpMassgeWebserive.GetDateUpMassageSoapClient(); DataSet ds = new DataSet(); XmlNode xmlNode1; XmlDataDocument xd = new XmlDataDocument(); StringBuilder sb; xmlNode1 = um.GetUpMassageDate("hzh","chinahzh"); if (xmlNode1==null) { return; } sb = new StringBuilder(xmlNode1.OuterXml); if (sb.ToString().Equals("")) { return; } xd.LoadXml(sb.ToString()); ds.readxml(new XmlNodeReader(xd)); GridView1.DataSource = ds.Tables[0].defaultview; GridView1.DataBind(); }
另参考:用WebService传递XML数据
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。