Delphi集合类型的使用-TList

1.问题描述

   我从XML文件中取出相关的节点列表,把这个节点列表已结构体的形式保存到TList对象中去。

2.数据结构定义

2.1XML文件结构

<xml>

<root>

<userinfo>

<logininfo>

     <loginname>ceshiyong</loginname>

     <logintime>2007-1-1<logintime>

</logininfo>

 

<logininfo>

     <loginname>ceshiyong1</loginname>

     <logintime>2007-2-1<logintime>

</logininfo>

</userinfo>

</root>

2.2结构体定义

 

ContractedBlock.gif ExpandedBlockStart.gif Code
   //结构体指针类型
   plogininfo
=^loginInfo;
  
//结构体
   loginInfo 
= record
   logintime:
string;
   loginname:
string;
   
end;

 

3.测试代码

ContractedBlock.gif ExpandedBlockStart.gif Code
function testAddToList()
var list:TList;
  I: Integer;
var nodelist:TXmlNodeList;
var loginpointer:plogininfo;
var xmldoc:TNativeXml;

begin
    list:
=TList.Create;
    nodelist:
= TXmlNodeList.Create;
    
//获取XML文件节点 列表 
    actions.Doc.Root.NodesByName(
'userInfo',nodelist); 
      
for I := 0 to nodelist.Count - 1 do
        
begin
          
if assigned(nodelist.Items[I].NodeByName('logininfo')) then
            
begin
               new(loginpointer);
               
//赋值方法2
               
//loginpointer.logintime:= nodelist.Items[I].NodeByName('logininfo').ReadString('logintime');
              
// loginpointer.loginname:= nodelist.Items[I].NodeByName('logininfo').ReadString('loginname');
              list.Add(loginpointer);
             
//赋值方法1
             plogininfo(list[i])^.logintime:
=nodelist.Items[I].NodeByName('logininfo').ReadString('logintime');
             plogininfo(list[i])^.loginname:
=nodelist.Items[I].NodeByName('logininfo').ReadString('loginname');
             
            
end;
        
end;
end;

转载于:https://www.cnblogs.com/wxf82610/archive/2009/02/25/1397942.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值