uses NativeXml; procedure TForm1.Button1Click(Sender: TObject); var xml: TNativeXml; node: TXmlNode; begin xml := TNativeXml.CreateName('List'); xml.XmlFormat := xfReadable; node := xml.Root.NodeNew('item'); node.AttributeAdd('ID', '1'); node.AttributeAdd('age', '11'); node.Value := '张三'; with xml.Root.NodeNew('item') do begin AttributeAdd('ID', '2'); AttributeAdd('age', '22'); Value := '李四'; end; with xml.Root.NodeNew('item') do begin AttributeAdd('ID', '3'); AttributeAdd('age', '33'); Value := '王五'; end; Memo1.Text := xml.WriteToString; xml.Free; end; {*************************************** <?xml version="1.0" encoding="UTF-8"?> <List> <item ID="1" age="11">张三</item> <item ID="2" age="22">李四</item> <item ID="3" age="33">王五</item> </List> *****************************************} procedure TForm1.Button2Click(Sender: TObject); var xml: TNativeXml; node: TXmlNode; attr1,attr2: TsdAttribute; begin xml := TNativeXml.CreateName('List'); xml.XmlFormat := xfReadable; attr1 := TsdAttribute.Create(xml); attr1.Name := 'ID'; attr1.Value := '1'; attr2 := TsdAttribute.Create(xml); attr2.Name := 'age'; attr2.ValueAsInteger := 11; node := xml.Root.NodeNew('item'); node.AttributeAdd(attr1); node.AttributeAdd(attr2); node.Value := '张三'; attr1 := TsdAttribute.CreateName(xml, 'ID'); attr1.Value := '2'; attr2 := TsdAttribute.CreateNameValue(xml, 'age', '22'); node := xml.Root.NodeNew('item'); node.AttributesAdd([attr1, attr2]); node.Value := '李四'; node := xml.Root.NodeNew('item'); node.AttributesAdd([TsdAttribute.CreateNameValue(xml, 'ID', '3'), TsdAttribute.CreateNameValue(xml, 'age', '33')]); node.Value := '王五'; Memo1.Text := xml.WriteToString; xml.Free; end; {结果同上} procedure TForm1.Button3Click(Sender: TObject); var xml: TNativeXml; node: TXmlNode; attr1,attr2: TsdAttribute; begin xml := TNativeXml.CreateName('List'); xml.XmlFormat := xfReadable; attr1 := xml.AttrText('ID', '1'); attr2 := xml.AttrInt('age', 11); node := xml.Root.NodeNew('item'); node.AttributesAdd([attr1, attr2]); node.Value := '张三'; node := xml.Root.NodeNew('item'); node.AttributesAdd([xml.AttrText('ID', '2'), xml.AttrInt('age', 22)]); node.Value := '李四'; with xml.Root.NodeNew('item') do begin AttributesAdd([xml.AttrText('ID', '3'), xml.AttrInt('age', 33)]); Value := '王五'; end; Memo1.Text := xml.WriteToString; xml.Free; end; {结果同上} procedure TForm1.Button4Click(Sender: TObject); var xml: TNativeXml; node: TXmlNode; begin xml := TNativeXml.CreateName('List'); xml.XmlFormat := xfReadable; node := xml.NodeNewTextAttr('item', '张三', [xml.AttrText('ID', '1'), xml.AttrInt('age', 11)]); xml.Root.NodeAdd(node); node := xml.NodeNewTextAttr('item', '李四', [xml.AttrText('ID', '2'), xml.AttrInt('age', 22)]); xml.Root.NodeAdd(node); node := xml.NodeNewTextAttr('item', '王五', [xml.AttrText('ID', '3'), xml.AttrInt('age', 33)]); xml.Root.NodeAdd(node); Memo1.Text := xml.WriteToString; xml.Free; end; {结果同上} procedure TForm1.Button5Click(Sender: TObject); var xml: TNativeXml; begin xml := TNativeXml.CreateName('List'); xml.XmlFormat := xfReadable; xml.Root.NodesAdd([ xml.NodeNewTextAttr('item', '张三', [xml.AttrText('ID', '1'), xml.AttrInt('age', 11)]), xml.NodeNewTextAttr('item', '李四', [xml.AttrText('ID', '2'), xml.AttrInt('age', 22)]), xml.NodeNewTextAttr('item', '王五', [xml.AttrText('ID', '3'), xml.AttrInt('age', 33)]) ]); Memo1.Text := xml.WriteToString; xml.Free; end; {结果同上} procedure TForm1.Button6Click(Sender: TObject); var xml: TNativeXml; node: TXmlNode; begin xml := TNativeXml.CreateName('List'); xml.XmlFormat := xfReadable; node := xml.NodeNewAttr('item', [xml.AttrText('name', '张三'), xml.AttrInt('age', 11)]); xml.Root.NodeAdd(node); node := xml.NodeNewAttr('item', [xml.AttrText('name', '李四'), xml.AttrInt('age', 22)]); xml.Root.NodeAdd(node); node := xml.NodeNewAttr('item', [xml.AttrText('name', '王五'), xml.AttrInt('age', 33)]); xml.Root.NodeAdd(node); Memo1.Text := xml.WriteToString; xml.Free; end; {*************************************** <?xml version="1.0" encoding="UTF-8"?> <List> <item name="张三" age="11"/> <item name="李四" age="22"/> <item name="王五" age="33"/> </List> *****************************************} procedure TForm1.Button7Click(Sender: TObject); var xml: TNativeXml; node: TXmlNode; begin xml := TNativeXml.CreateName('List'); xml.XmlFormat := xfReadable; xml.Root.NodesAdd([ xml.NodeNewAttr('item', [xml.AttrText('name', '张三'), xml.AttrInt('age', 11)]), xml.NodeNewAttr('item', [xml.AttrText('name', '李四'), xml.AttrInt('age', 22)]), xml.NodeNewAttr('item', [xml.AttrText('name', '王五'), xml.AttrInt('age', 33)]) ]); Memo1.Text := xml.WriteToString; xml.Free; end; {结果同上}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
2008-03-25 System.Insert - 插入字符串
2008-03-25 System.Delete - 从字符串中删除
2008-03-25 System.Copy - 从字符串或数组中复制