全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Delphi/Lazarus怎么操作XML

Delphi和Lazarus均支持XML解析与生成:Delphi用TXMLDocument和IXML接口,Lazarus用XMLRead/XMLWrite及DOM;DOM适合小数据随机访问,SAX适合大数据流式处理;需注意编码统一(推荐UTF-8)和节点生命周期管理。

Delphi 和 Lazarus 都支持 XML 解析与生成,但方式略有不同:Delphi 自带 TXMLDocument(基于 MSXML 或 OpenXML)、IXMLxxx 接口体系;Lazarus 主要靠 XMLRead / XMLWrite 单元 + TXMLParser / TXMLWriter,也支持 DOM 模式(需启用 dom 单元)。

读取 XML 文件(DOM 方式,跨平台推荐)

适合结构清晰、数据量不大的场景,可随机访问节点。

  • Delphi:用 TXMLDocument(记得设置 Owner = True,并调用 LoadFromFile);启用 DOMVendor(如 'MSXML''OpenXML'
  • Lazarus:引入 domxmlread,用 XMLRead 函数加载为 IDOMDocument;示例:
    Doc := XMLRead('config.xml');
    然后用 Doc.DocumentElement 开始遍历子节点
  • 通用技巧:用 GetElementsByTagName('xxx') 快速获取同名元素;用 Node.Attributes['attrname'] 读属性

写入 XML 文件(手动构造或 DOM 生成)

避免字符串拼接,优先用 DOM 构建保证格式正确。

  • Delphi:创建 TXMLDocumentCreateElementAppendChild → 最后 SaveToFile
  • Lazarus:用 dom 单元创建 IDOMImplementationCreateDocument → 添加元素和文本节点;保存用 XMLWrite 函数输出到文件或流
  • 注意:中文内容要确保编码一致(建议 UTF-8),Lazarus 中可设 Doc.SetXmlVersion('1.0'); Doc.SetXmlEncoding('UTF-8');

轻量解析(SAX/事件式,适合大文件)

不载入整个文档,边读边处理,内存占用低。

  • Delphi:可用 TXMLParser(在 XMLParser 单元),重写 OnStartElement / OnEndElement 等事件
  • Lazarus:用 TXMLParserxmlparser 单元),设置 OnStartElement 回调,在里面判断标签名并提取属性或文本
  • 关键点:文本内容在 OnCharacterData 中获取,且可能分多次回调,需累积字符串

实用小贴士

  • 路径查找别硬写:Delphi 可用 SelectNodes('//item[@active="1"]')(XPath,需 MSXML 支持);Lazarus 需第三方库(如 lazxml)或手动遍历
  • Lazarus 默认不带完整 DOM 写支持,若 XMLWrite 输出无缩进,可手动加换行和空格,或用 laz2_xml 中的美化函数
  • 调试时用 Node.XML(Delphi)或 Node.NodeValue + Node.TextContent(Lazarus DOM)快速查*段

基本上就这些。选 DOM 还是 SAX,看数据大小和访问模式;跨平台项目优先用 Lazarus 的 dom+xmlread 组合,Delphi 项目可直接上 TXMLDocument。不复杂但容易忽略编码和节点生命周期管理。


# node  # 编码  # 大数据  # app  # xml解析  # 内存占用  # xml  # 字符串  # 接口  # 事件  # dom  # 遍历  # 回调  # 重写  # 在里面  # 自带  # 可直接  # 不带  # 第三方  # 时用  # 或用 


相关文章: html制作网站的步骤有哪些,iapp如何添加网页?  IOS倒计时设置UIButton标题title的抖动问题  公司网站设计制作厂家,怎么创建自己的一个网站?  如何通过二级域名建站提升品牌影响力?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  如何在阿里云虚拟主机上快速搭建个人网站?  建站主机与服务器功能差异如何区分?  表情包在线制作网站免费,表情包怎么弄?  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  ,网页ppt怎么弄成自己的ppt?  建站之星安装需要哪些步骤及注意事项?  广州商城建站系统开发成本与周期如何控制?  如何获取开源自助建站系统免费下载链接?  如何彻底卸载建站之星软件?  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  如何通过VPS搭建网站快速盈利?  公司门户网站制作流程,华为官网怎么做?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  音乐网站服务器如何优化API响应速度?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  家庭服务器如何搭建个人网站?  如何通过智能用户系统一键生成高效建站方案?  盘锦网站制作公司,盘锦大洼有多少5G网站?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  PHP 500报错的快速解决方法  如何选择靠谱的建站公司加盟品牌?  江苏网站制作公司有哪些,江苏书法考级官方网站?  如何在局域网内绑定自建网站域名?  网站制作公司,橙子建站是合法的吗?  创业网站制作流程,创业网站可靠吗?  自助网站制作软件,个人如何自助建网站?  建站之星备案流程有哪些注意事项?  如何选择高效便捷的WAP商城建站系统?  如何通过主机屋免费建站教程十分钟搭建网站?  建站之星3.0如何解决常见操作问题?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  如何制作网站标识牌,动态网站如何制作(教程)?  如何在云主机快速搭建网站站点?  小程序网站制作需要准备什么资料,如何制作小程序?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  网站按钮制作软件,如何实现网页中按钮的自动点击?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  如何确保西部建站助手FTP传输的安全性?  如何选择PHP开源工具快速搭建网站?  个人摄影网站制作流程,摄影爱好者都去什么网站?  *服务器网站为何频现安全漏洞?  如何在橙子建站上传落地页?操作指南详解  5种Android数据存储方式汇总  建站168自助建站系统:快速模板定制与SEO优化指南  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。