1. 创建本地数据集

    clientdataset2.FieldDefs.Clear;;
      with clientdataset2.FieldDefs.AddFieldDef do
      begin
        Name := 'id';
        Size := 10;
        DataType := ftString;
      end;
      with clientdataset2.FieldDefs.AddFieldDef do
      begin
        Name := 'xm';
        size := 10;
        DataType := ftstring;
      end;
      with clientdataset2.FieldDefs.AddFieldDef do
      begin
        Name := 'xb';
        Size := 10;
        DataType := ftString;
      end;
      with clientdataset2.FieldDefs.AddFieldDef do
      begin
        Name := 'nl';
        DataType := ftinteger;
      end;
      with clientdataset2.FieldDefs.AddFieldDef do
      begin
        Name := 'sfzh';
        Size := 10;
        DataType := ftString;
      end;
      with clientdataset2.FieldDefs.AddFieldDef do
      begin
        Name := 'jtzz';
        size := 30;
        DataType := ftstring;
      end;
      clientdataset2.CreateDataSet;
      clientdataset2.open;

  2. 导入xml

    var
      xml:Tnativexml;
      root: TsdElement;
      i:integer;
      声明soapheader
      aIntf: DataCenterServicesSoap;
      Headers: ISOAPHeaders;
      H: SecuritySoapHeader2;//SecuritySoapHeader2;
    begin
      Try
        clientdataset2.EmptyDataSet;
        xml := Tnativexml.Create(nil);

    发送soapheader
        aIntf := (httprio1 as DataCenterServicesSoap);

    H := SecuritySoapHeader2.Create;
        h.Ticket := 'BE2E4F35-CDE9-46A1-844B-9FB2546491B2';

    Headers := (aIntf as ISOAPHeaders);
        Headers.Send(H); //发送Soap Header
       // xml.ReadFromString((httprio1 as DataCenterServicesSoap).getdataasxml(memo1.Text));
        //aIntf.GetInfo; //调用服务
        xml.ReadFromString((httprio1 as DataCenterServicesSoap).GetXML(memo1.Text));
        xml.XmlFormat := xfReadable;
        root := xml.Root;
        for i := 0 to root.NodeCount - 1 do
        begin
          clientdataset2.Append;
          clientdataset2.FieldByName('id').Value := root[i].NodeByName('ID').Value;
          clientdataset2.FieldByName('xm').Value := root[i].NodeByName('xm').Value;
          clientdataset2.FieldByName('xb').Value := root[i].NodeByName('xb').Value;
          clientdataset2.FieldByName('nl').Value := root[i].NodeByName('nl').Value;
          clientdataset2.FieldByName('sfzh').Value := root[i].NodeByName('sfzh').Value;
          clientdataset2.FieldByName('jtzz').Value := root[i].NodeByName('jtzz').Value;
          clientdataset2.Post;
        end;
      finally
        aIntf := nil;
      End;

    xml.Free;
      H.Free;

------------------------------------------------------------------

var
  xml:Tnativexml;
  root: TsdElement;
  i:integer;
  aIntf: DataCenterServicesSoap;
  声明soapheader
begin
  Try
    clientdatasetxz.EmptyDataSet;
    xml := Tnativexml.Create(nil);

发送soapheader
    aIntf := (httprio1 as DataCenterServicesSoap);
   // roota := xml.root.NodeNew('NewDataset');
    xml.ReadFromString((httprio1 as DataCenterServicesSoap).GetXZZD);
    memo6.lines.text := (httprio1 as DataCenterServicesSoap).GetXZZD;
    xml.XmlFormat := xfReadable;
    root := xml.Root;
    for i := 0 to root.NodeCount - 1 do
    begin
        Memo4.Lines.Add(root[i].Name + #9 + root[i].Value); // root[i] = root.Nodes[i]

Memo4.Lines.Add( root[i].NodeByName('unitId').Value + #9 + root[i].NodeByName('name').Value); // root[i] = root.Nodes[i]
    end;
    {
    for i := 0 to root.NodeCount - 1 do
    begin
     {
      clientdatasetxz.Append;
      clientdatasetxz.FieldByName('unitid').Value := root[i].NodeByName('unitId').Value;
      clientdatasetxz.FieldByName('name').Value := root[i].NodeByName('name').Value;
      clientdatasetxz.Post;
      }
     {
      memo4.lines.add(root.NodeByName('unitId').Value + ' ' +  root.NodeByName('name').Value);
      // memo4.lines.add(root[i].Nodes[0].Value + ' ' +  root[i].Nodes[1].Value);
    end;
    }

finally
    aIntf := nil;
  End;

xml.Free;
  //H.Free;

本文转自鹅倌51CTO博客,原文链接: http://blog.51cto.com/kaixinbuliao/1440573,如需转载请自行联系原作者

访问webservice,导入xml至本地数据集相关推荐

  1. Android 访问WebService

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010046908/article/details/50503428 首先,WebService进年 ...

  2. 如何直接soap字符串,访问webservice

    2019独角兽企业重金招聘Python工程师标准>>> 1.Webservice.GetVcardByUserNo(String userId,String userNo);这个是封 ...

  3. qt linux webservice,Qt实现访问WebService

    之前也许是因为根本不用的原因吧,,,根本没有想过Qt访问WebService的方式.... 要解决这个问题,因为Qt现行版没有提供直接访问的类库...首先是一些必备知识, 我连的服务器是用VS2010 ...

  4. ajax的访问 WebService 的方法

    转自原文 ajax的访问 WebService 的方法 如果想用ajax进行访问 首先在web.config里进行设置 添加在 <webServices> <protocols> ...

  5. Java dom4j解析RESTFull风格发布的WebService的xml文件

    公司项目要求解析出RESTFull风格发布的WebService接口的所有请求方法,参数,参数类型,已经方法是返回类型,想来想去都不知道该怎么办,思来想去然后又研究RESTFull风格WebServi ...

  6. C++访问WebService

    转自:http://www.cnblogs.com/virtorld/archive/2012/11/16/2773395.html#3003232 一    gSOAP访问WebService 1. ...

  7. Flutter访问webservice

    首先要先了解一下webservice(参照以下的链接内容) https://blog.csdn.net/u011199063/article/details/78550005 访问webservice ...

  8. 关于oracle中utl_http,Oracle使用utl_http访问webservice

    PLSQL访问webservice, utl_dbws是个不错的选择,另外的一种方式是直接构造http请求访问. 这里,使用了utl_http工具包,并使用了XMLTABLE+XPATH获取请求的结果 ...

  9. android访问WebService(axis)

    我自己发布的webService就是不能被android访问,后面从网上查了下,我自己的webservice是用apache cxf发布的,不能访问.后面改成axis发布后就能访问了.具体原因不明确, ...

  10. 解决导入markdown时本地图片无法显示问题——图床

    解决导入markdown时本地图片无法显示问题--图床 图床工具: PicGo 图片服务器:Gitee 辅助工具:Node.js 14.17.6 图床: 一般是指储存图片的服务器,有国内和国外之分.国 ...

最新文章

  1. 在R.java中新建自定义的新类
  2. Linux进程间通讯之消息队列
  3. 【B】替换 Quartz.net 默认使用的 MySql.Data 为 Mysqlconnector 的学习过程
  4. Could not load oracle/sql/converter_xcharset/lx20354.glb.
  5. 第七届 蓝桥杯 省赛 第八题 四平方和
  6. 网格法对随机森林调参
  7. 《Qt基础教程之Qt学习之路》
  8. 高可用的分布式Hadoop大数据平台搭建,超详细,附代码。
  9. Mac 安装谷歌浏览器驱动
  10. QQ空间官方账号被黑产利用漏洞分析
  11. 世界之窗浏览器 java_浏览器部分JavaScript失效如何解决
  12. pr系统兼容性报告不支持视频驱动程序解决办法
  13. 推荐系统的评价指标笔记(NDCG、MAP、AUC、HR、MRR)
  14. u8应用服务器跟数据库分离部署_u8 数据库分离
  15. 微型计算机音节,二年级微机下册教案
  16. 在线音乐迎来产消多维时代,菠萝BOLO要做“原创音乐视频工厂”?
  17. GOF23之桥接模式
  18. html5这么盒子页面居中,实现盒子居中
  19. GIS作业问题:地图打包出错
  20. 全波形反演的深度学习方法: 第 1 章 基本概念

热门文章

  1. iOS TableView性能优化
  2. json mysql乱码问题_读写json中文ASCII乱码问题的解决方法
  3. python数据分析推荐课程_coursera上有哪些值得学习的Python,数据分析的课程
  4. 1.Entity Framework Core 5.0教程,概述和准备
  5. php练手的项目,learnphp.beginmaker.com
  6. 设置 jetbrains 的背景颜色和字体。
  7. 给apk去签名、重新签名
  8. configure: error: cups-config not found
  9. JAVA CLASS混淆工具:RetroGuard(已无法下载)
  10. 粮食增产的重要性顺序,土水肥种