TreeView读取xml文件

来源:百度知道 编辑:UC知道 时间:2024/05/28 14:29:26
xml文件
<Star>
<Name>张靓靓</Name>
<Age>20</Age>
<Hobby>唱歌歌</Hobby>
<Name>周杰杰</Name>
<Age>22</Age>
<Hobby>耍双节棍棍</Hobby>
</Star>
将Name的值读取为TreeView的节点
Age和Hobby读取为Name的子节点,应该怎么写?
在xml文件中<Star>是根节点。其它都是<Star>的子节点 .
要用c#做的。我自己做的代码:
XmlDocument xml = new XmlDocument();
xml.Load("XMLFile1.xml");
XmlNode xNode = xml.DocumentElement;//获取根节点star
foreach (XmlNode xxx in xNode)
{
TreeNode tr;
tr = this.treeView1.Nodes.Add(xxx.InnerText);
if (xxx.Name == "Age")
{
tr.Nodes.Add(xxx.InnerText);
}
else if (xxx.Name == "Hobby")
{
t

//下面的代码可以完成你要的效果,如果还要做更加复杂的就要改下代码 

var 

sl :tstringlist; 

np,nc :ttreenode; 

i :integer; 

begin 

treeview1.items.clear; 

sl := tstringlist.create; 

sl.loadfromfile('XML文件地址'); 

np := treeview1.items.add(nil,'Star'); 

for i := 0 to sl.count - 1 do 

if pos('<Name>',sl.strings[i]) <> 0 then 

nc := treeview1.items.addchild(np,copy(sl.strings[i],7,length(sl.strings[i])-14)) 

else if pos('<Age>',sl.strings[i]) <> 0 then 

treeview1.items.addchild(nc,copy(sl.strings[i],6,length(sl.strings[i])-12)) 

else if pos('<Hobby>',sl.strings[i]) <> 0 then 

treeview1.items.addchild(nc,copy(sl.strings