• NativeXml (7):添加属性



    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; 
    {结果同上}
    


  • 相关阅读:
    一个人是否靠谱,闭环很重要(深度)
    远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
    如何量化考核技术人的 KPI?
    ECharts
    Spring IO Platform介绍
    百亿级日访问量的应用如何做缓存架构设计?
    大型分布式系统中的缓存架构
    Delphi实现屏幕截图、窗口截图、指定区域截图
    Delphi窗体重绘API
    GdiPlus 一个给 Delphi 提供的新的 GDI+ 接口很好用!
  • 原文地址:https://www.cnblogs.com/del/p/1995187.html
Copyright © 2020-2023  润新知