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: = 'zhang san'; with XML. root. nodenew ('item') Do begin attributeadd ('id', '2'); attributeadd ('age', '22'); Value: = 'lily'; end; With XML. root. nodenew ('item') Do begin attributeadd ('id', '3'); attributeadd ('age', '33'); Value: = 'wang 5'; end; memo1.text: = xml. writetostring; XML. free; end; {*************************************** <? XML version = "1.0" encoding = "UTF-8"?> <List> <item id = "1" age = "11"> Zhang San </item> <item id = "2" age = "22"> Li Si </item> <item id = "3" age = "33"> Wang Wu </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: = 'zhang san'; 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: = 'lily'; 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; {result ditto} 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: = 'zhang san'; node: = xml. root. nodenew ('item'); node. attributesadd ([XML. attrtext ('id', '2'), XML. attrint ('age', 22)]); node. value: = 'lily'; with XML. root. nodenew ('item') Do begin attributesadd ([XML. attrtext ('id', '3'), XML. attrint (' Age ', 33)]); Value: = 'wang 5'; end; memo1.text: = xml. writetostring; XML. free; end; {result same as above} procedure tform1.button4click (Sender: tobject); var XML: tnativexml; node: txmlnode; begin XML: = tnativexml. createname ('LIST'); XML. xmlformat: = xfreadable; node: = xml. nodenewtextattr ('item', 'zhang san', [XML. attrtext ('id', '1'), XML. attrint ('age', 11)]); XML. root. nodeadd (node); node: = xml. nodenewtextattr ('item ', 'Li si', [XML. attrtext ('id', '2'), XML. attrint ('age', 22)]); XML. root. nodeadd (node); node: = xml. nodenewtextattr ('item', 'wang wu', [XML. attrtext ('id', '3'), XML. attrint ('age', 33)]); XML. root. nodeadd (node); memo1.text: = xml. writetostring; XML. free; end; {result same as above} procedure tform1.button5click (Sender: tobject); var XML: tnativexml; begin XML: = tnativexml. createname ('LIST'); XML. xmlformat: = xfreadable; XML. Root. nodesadd ([XML. nodenewtextattr ('item', 'zhang san', [XML. attrtext ('id', '1'), XML. attrint ('age', 11)]), XML. nodenewtextattr ('item', 'lily', [XML. attrtext ('id', '2'), XML. attrint ('age', 22)]), XML. nodenewtextattr ('item', 'wang wu', [XML. attrtext ('id', '3'), XML. attrint ('age', 33)]); memo1.text: = xml. writetostring; XML. free; end; {result same as above} 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', 'zhang san'), XML. attrint ('age', 11)]); XML. root. nodeadd (node); node: = xml. nodenewattr ('item', [XML. attrtext ('name', 'lily'), XML. attrint ('age', 22)]); XML. root. nodeadd (node); node: = xml. nodenewattr ('item', [XML. attrtext ('name', 'wang wu'), 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 = "Zhang San" age = "11"/> <item name = "Li Si" age = "22"/> <item name = "Wang Wu" 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', 'zhang san'), XML. attrint ('age', 11)]), XML. nodenewattr ('item', [XML. attrtext ('name', 'lily'), XML. attrint ('age', 22)]), XML. nodenewattr ('item', [XML. attrtext ('name', 'wang wu'), XML. attrint ('age', 33)]); memo1.text: = xml. writetostring; XML. free; end; {the result is the same as above}