利用XE7的OmniXML完成XML文件的处理,支持跨平台

OmniXML是XE7提供的新DOM,传说比ADOM还要快,实际操作确实如此,这次我们来做几个文件操作,

首先在控件页上加上TXMLDocument控件,然后给控件命名为XMLDoc,

修改DOMVendor属性为OmniXML即可完成,操作与原来一样,


另外还有MSXML和ADOM,MSXML只能在windows里面用,不能跨平台,就是说你的程序在Android或者iOS下可能出问题,虽然ADOM能够跨平台,但它的效率目前比较慢,下面是几个操作代码:

几个参数说明:

AppPath  //可以由TPath.GetHomePath取出的,TPath为跨平台的路径生成函数
TPath.DirectorySeparatorChar  //路径分隔符,在windows是"\",在Android是"/"
AppParamFileName  //自己定义的放参数的文件名称

读取XML文件:

 if TFile.Exists(AppPath+TPath.DirectorySeparatorChar+AppParamFileName) then
  begin

    //加载XML文件
    XMLDoc.LoadFromFile(AppPath+TPath.DirectorySeparatorChar+AppParamFileName);
    XMLRoot := XMLDoc.DocumentElement;

    if XMLRoot<>nil then
    begin

      XMLNode := XMLRoot.ChildNodes['LoginInfo'];

      if XMLNode<>nil then
      begin
        RememberMe := XMLNode.AttributeNodes['RememberMe'].NodeValue;
      end;

    end;

  end
  else
  begin
    //没找到文件则创建
    CreateAppParamFile;
    RememberMe := 0;
  end;


创建XML文件:

  //XML初始化
  XMLDoc.Active := True;
  XMLDoc.Version := '1.0';
  XMLDoc.Encoding := 'GB2312';

  //创建根节点
  XMLRoot := XMLDoc.CreateNode('SoftPreferences');
  XMLDoc.DocumentElement := XMLRoot;

  //创建节点
  XMLNode := XMLDoc.CreateNode('LoginInfo');
  XMLDoc.DocumentElement.ChildNodes.Add(XMLNode);
  XMLNode.AttributeNodes.Add(XMLDoc.CreateNode('RememberMe',ntAttribute));
  XMLNode.SetAttributeNS('RememberMe','',0);
  ...

  XMLDoc.SaveToFile(AppPath+TPath.DirectorySeparatorChar+AppParamFileName);
  XMLDoc.Active := False;

保存XML文件:

  XMLDoc.LoadFromFile(AppPath+TPath.DirectorySeparatorChar+AppParamFileName);
  XMLDoc.Active := True;
  XMLRoot := XMLDoc.DocumentElement;

  if XMLRoot<>nil then
  begin

    XMLNode := XMLRoot.ChildNodes['LoginInfo'];

    if XMLNode<>nil then
    begin

      XMLNode.SetAttributeNS('RememberMe','',RememberMe);

    end;

  end;

  XMLDoc.SaveToFile(AppPath+TPath.DirectorySeparatorChar+AppParamFileName);
  XMLDoc.Active := False;


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Delphi XE10是一种集成开发环境(IDE),可用于创建跨平台的应用程序。跨平台三层http是指在Delphi XE10中使用三层架构进行跨平台的http通信。 三层架构是一种软件设计模式,将软件系统划分为三个层次:表示层、业务逻辑层和数据访问层。在跨平台的应用开发中,三层架构可以帮助开发人员将应用程序的逻辑和数据访问与UI(用户界面)分离,以便在不同的平台上进行部署和使用。 Delphi XE10提供了强大的组件和工具,可以轻松地实现跨平台的http通信。通过Delphi XE10的http组件,开发人员可以在应用程序中发送和接收http请求和响应。这使得应用程序能够与web服务器进行通信,并使用http协议获取和传输数据。 使用Delphi XE10的跨平台三层http通信,开发人员可以方便地在不同的平台上开发和部署应用程序,无论是在Windows、Mac还是移动设备上。由于Delphi XE10的http组件具有高度可定制性和灵活性,开发人员可以根据自己的需求进行扩展和定制,以实现更复杂的http通信功能。 总之,Delphi XE10提供了跨平台三层http通信的解决方案,为开发人员在各种平台上创建功能强大的应用程序提供了便利。无论是进行数据传输还是与web服务器进行通信,Delphi XE10的强大功能和易用性为开发人员提供了更好的开发体验。 ### 回答2: Delphi XE10是一款强大的集成开发环境(IDE),可以用于跨平台开发。它支持多个操作系统,包括Windows、Mac、iOS和Android等,并且可以轻松实现跨平台的HTTP通信。 跨平台三层HTTP是一种常见的应用架构模式,用于在客户端和服务器之间通过HTTP协议进行通信。它将应用程序分为三层:表示层、业务逻辑层和数据存储层。 表示层负责呈现用户界面,并与用户进行交互。Delphi XE10提供了丰富的用户界面设计工具,可以使用可视化方式设计跨平台的界面,并实现与用户的交互操作。 业务逻辑层是应用程序的核心,负责处理业务逻辑和数据处理。Delphi XE10内置了强大的编程语言和框架,可以轻松实现业务逻辑的处理和数据管理。开发人员可以使用Delphi XE10提供的组件和功能,编写业务逻辑代码,并进行数据处理和操作。 数据存储层负责管理和存储数据。Delphi XE10支持多种数据库连接,可以轻松实现与不同数据库的数据交互。开发人员可以使用Delphi XE10提供的组件和工具,连接到数据库,并进行数据的读取、写入和管理。 总结来说,Delphi XE10是一款强大的跨平台开发工具,可以实现三层HTTP架构模式。它提供了丰富的界面设计工具、强大的编程语言和框架,以及灵活的数据库连接功能,使开发人员可以轻松构建跨平台的应用程序,并实现与服务器的HTTP通信。 ### 回答3: Delphi XE10是一种集成开发环境(IDE),用于创建跨平台应用程序。它支持创建三层架构的应用程序,并可以使用HTTP协议进行数据传输。 跨平台三层意味着应用程序的架构被分为三个层次:表示层、业务逻辑层和数据访问层。在Delphi XE10中,开发人员可以使用不同的界面设计工具创建用户界面,例如FireMonkey和VCL。这些界面可以在不同的操作系统上运行,例如Windows、iOS和Android。 业务逻辑层是应用程序的核心部分,用于处理业务逻辑和数据处理。通过使用Delphi XE10的对象导向编程语言,我们可以编写适应不同平台的代码逻辑,以便应用程序在各个平台上都能正常运行。 数据访问层负责与数据库进行交互,从中读取和写入数据。Delphi XE10支持许多数据库引擎,例如MySQL、SQLite和Oracle。通过使用Delphi XE10提供的数据访问组件,开发人员可以轻松地建立与数据库的连接,执行查询和更新数据。 在跨平台三层架构中,HTTP协议用于实现不同层之间的数据传输。开发人员可以使用Delphi XE10提供的HTTP客户端组件进行数据的发送和接收。这种方式可以在不同的平台上实现数据的交换,使得应用程序能够跨平台运行。 总的来说,Delphi XE10支持开发跨平台的三层架构应用程序,并提供了HTTP协议进行数据传输。这使得开发人员能够在不同的操作系统和平台上创建功能强大的应用程序,并能够方便地处理业务逻辑和与数据库的交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值