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;
}
}
/// <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();