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
<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