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数据 C#DataSet操作XML 解析WebService返回的XML数据的更多相关文章

  1. WebService如何封装XML请求 以及解析接口返回的XML

    原 WebService如何封装XML请求 以及解析接口返回的XML 置顶 2019年08月16日 15:00:47 童子泛舟 阅读数 28 标签: XML解析WebService第三方API 更多 ...

  2. javascript 解析ajax返回的xml和json格式的数据

    写个例子,以备后用 一.JavaScript 解析返回的xml格式的数据: 1.javascript版本的ajax发送请求 (1).创建XMLHttpRequest对象,这个对象就是ajax请求的核心 ...

  3. js解析php返回的json数据无法获取length的问题分析

    1.问题出现的过程,js解析php json_encode 的数据,无法获取长度信息,提示undefined   debug:       首先打印查看了php encode后的数据,返现最外层是一个 ...

  4. phpStudy4——前端页面使用Ajax请求并解析php返回的json数据

    项目需求: 在html页面显示所有用户列表信息. 需求分析: 1. html页面使用ajax向后端php请求用户数据 2. php脚本查询数据库,并将查询后的结果以json格式返回前端html页面 3 ...

  5. WebLoad 解析服务器返回的XML格式内容

    Parsing the XML Response get the root node:  var rootNode = document.wlXmls[0].XMLDocument.documentE ...

  6. C# dynamic类型序列化和反序列化之Newtonsoft.Json,动态解析远端返回的jSON数据

    一.说明 1.Newtonsoft.Json 中的Linq To Json中提供了方便的json数据查询.修改等操作. 例如:JObject,JArray 2.在JObject.FromObject( ...

  7. jQuery解析AJAX返回的html数据时碰到的问题与解决

    $.ajax({ type : "post", url : "<%=request.getContextPath()%>/ce/articledetail/m ...

  8. ajax请求解析springmvc返回的json数据

    需要使用的框架 spring3.0 jquery1.9.0(简化ajax开发的js库) Jackson(json处理器):jackson-core-asl-1.9.2.jar,jackson-mapp ...

  9. js的eval函数解析后台返回的json数据时为什加上圆括号eval("("+data+")"),而HTML页面定义的数据不用

    一,情况如下,这是成功代码: $(function () { $.ajax({ url: "Demo.aspx", type: "post", data: { ...

随机推荐

  1. Qt入门(19)——自定义窗口部件

    我们介绍可以画自己的第一个自定义窗口部件.我们也加入了一个有用的键盘接口.我们添加了一个槽:setRange().        void setRange( int minVal, int maxV ...

  2. Qt入门(15)——使用窗口部件

    下面是如何创建一个你自己的窗口部件,描述如何控制一个窗口部件的最小大小和最大大小,并且介绍了窗口部件的名称. class MyWidget : public QWidget { public: MyW ...

  3. 动态树(Link Cut Tree) :SPOJ 375 Query on a tree

    QTREE - Query on a tree #number-theory You are given a tree (an acyclic undirected connected graph) ...

  4. Servlet的接口实现类

    Sun公司提供了两个默认实现类 GenericServlet和HttpServlet HttpServlet指能够处理Http请求的Servlet,它在原有的Servlet基础上添加了与HTTp相关的 ...

  5. Java 自动装箱和拆箱

    JDK1.5之后的功能 自动装箱:指的是开发人员可以把一个基本数据类型直接赋给对应的包装类 自动拆箱:指开发人员可以把一个包装类对象直接赋给对应的基本数据类型 public static void m ...

  6. Spring Boot 入门

    Spring Boot自动配置 http://blog.javachen.com/2015/03/13/how-to-run-spring-boot-application.html http://b ...

  7. 表格布局TableLayout

    简单实现计算机界面布局的案例: <?xml version="1.0" encoding="utf-8"?><TableLayout xmln ...

  8. cocos2d-x 关于tilemap滚动时黑线闪动的问题

    改动抗锯齿这个全然没用. 解决问题的方法是开启CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL=1.不是在自己的project中开启,而是改动libcocos2dx库来解决 wa ...

  9. java 获取黑屏信息保存在list中,截取字符执行

    ArrayList<String> list1 = new ArrayList<String>(); Process p = Runtime.getRuntime().exec ...

  10. Qt 学习之路 :事件

    事件(event)是由系统或者 Qt 本身在不同的时刻发出的.当用户按下鼠标.敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件.一些事件在对用户操作做出响应时发出,如键盘事件等:另一些事 ...