You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Delphi 12生成指定结构的XML?

问题原因

你代码里的错误很明确:创建User1和User2节点后,没有保存这些节点的引用,反而继续操作CurNode(也就是Options节点)的属性,导致本该属于User1/User2的属性被错误加到了Options节点上。

修正代码
Var
  XML : IXMLDOCUMENT;
  RootNode, OptionsNode, User1Node, User2Node : IXMLNODE;
begin
  XML := NewXMLDocument;
  XML.Encoding := 'utf-8';
  
  // 创建根节点并设置属性
  RootNode := XML.AddChild('Project');
  RootNode.Attributes['ProjectName'] := 'CoolProject';
  
  // 创建Options节点并设置属性
  OptionsNode := RootNode.AddChild('Options');
  OptionsNode.Attributes['Opt1'] := 'Some Options Attribute Value';
  
  // 创建User1节点并设置专属属性
  User1Node := OptionsNode.AddChild('User1');
  User1Node.Attributes['User1Opt'] := 'Some User1 Attribute Value';
  
  // 创建User2节点并设置专属属性
  User2Node := OptionsNode.AddChild('User2');
  User2Node.Attributes['User2Opt'] := 'Some User2 Attribute Value';
  
  XML.SaveToFile('c:\test\test.xml');
end;
关键说明
  • 新增User1Node、User2Node变量,专门存储创建后的User1、User2节点引用
  • 针对这两个变量操作Attributes,才能把属性绑定到对应的子节点上,而不是父节点Options

内容的提问来源于stack exchange,提问作者Alex Bonner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 10:07:15