VB的TreeView读取XML
点击图片看大图,这个是我见ADOBE的一个程序里看到的,他应该使用的是TreeView控件做出来的,请问,VB能否做到这个效果,通过XML里面的数据进行显示,并且点击后通...
点击图片看大图, 这个是我见ADOBE的一个程序里看到的, 他应该使用的是TreeView控件做出来的, 请问, VB能否做到这个效果, 通过XML里面的数据进行显示, 并且点击后通过WebBrowser1显示连接。
XML代码
<?xml version="1.0" encoding="utf-8" ?>
<Star>
<Name>百度</Name>
<url>http://www.baidu.com</url>
<Name>GOOGLE</Name>
<url>http://www.google.com</url>
</Star>
通过读取的<url>然后让WebBrowser1显示百度,请问如何实现
我邮箱ads21ab@vip.qq.com 麻烦高手帮我看下
没人知道吗? 最好发个例子给我 展开
XML代码
<?xml version="1.0" encoding="utf-8" ?>
<Star>
<Name>百度</Name>
<url>http://www.baidu.com</url>
<Name>GOOGLE</Name>
<url>http://www.google.com</url>
</Star>
通过读取的<url>然后让WebBrowser1显示百度,请问如何实现
我邮箱ads21ab@vip.qq.com 麻烦高手帮我看下
没人知道吗? 最好发个例子给我 展开
2个回答
展开全部
“通过读取的<url>然后让WebBrowser1显示百度,请问如何实现”
VB的TreeView功能比较强大,我们称为树形列表,其实不是特别困难,在VB中实现是比较简单的。
1、首先读取XML的数据,但是必须在XML中的数据有分类,好像数据表记录中的名称和分类一样;
2、在TreeView中建立分类树杈;
3、在各分类树杈中选择记录的名称。
下面我们讨论具体代码:
TreeView1.Enabled = True
Dim Nodx As Node
Set Nodx = TreeView1.Nodes.Add(, , , 1)
Nodx.Text = "树主干名称"
Nodx.Image = "TP1"
TreeView1.LabelEdit = tvwManual
Set Nodx = TreeView1.Nodes.Add(1, tvwChild, "A1", "分类名称1") '第一枝杈
Nodx.Image = "TP2"
Set Nodx = TreeView1.Nodes.Add(1, tvwChild, "A2", "分类名称2") '第二枝杈
Nodx.Image = "TP2"
Set Nodx = TreeView1.Nodes.Add(1, tvwChild, "A3", "分类名称3") '第三枝杈
Nodx.Image = "TP2"
Set Nodx = TreeView1.Nodes.Add(1, tvwChild, "A4", "分类名称4") '第四枝杈
Nodx.Image = "TP2"
.........................多分类可继续添加
'连接XML语句,并获得各变量,包括分类变量和名称变量,可以用变量数组
For I=1 To XML数据记录数
If XML的分类变量 = "分类名称1" Then
Set Nodx = TreeView1.Nodes.Add("A1", tvwChild) '第一枝杈内的项目
Nodx.Text = XML的名称变量
ElseIf XML的分类变量 = "分类名称2" Then
Set Nodx = TreeView1.Nodes.Add("A2", tvwChild) '第二枝杈内的项目
Nodx.Text = XML的名称变量
ElseIf XML的分类变量 = "分类名称3" Then
Set Nodx = TreeView1.Nodes.Add("A3", tvwChild) '第三枝杈内的项目
Nodx.Text = XML的名称变量
ElseIf XML的分类变量 = "分类名称4" Then
Set Nodx = TreeView1.Nodes.Add("A4", tvwChild) '第四枝杈内的项目
Nodx.Text = XML的名称变量
.........................多分类可继续添加
End If
Nodx.Image = "TP3"
Nodx.Tag = "Site"
Next I
Nodx.EnsureVisible
TreeView1.StartLabelEdit
其中Nodx.Image = "TP1"、Nodx.Image = "TP2"、Nodx.Image = "TP3" 是VB中ImageList1中的图标,在这里可显示不同图标以示区别。
VB的TreeView功能比较强大,我们称为树形列表,其实不是特别困难,在VB中实现是比较简单的。
1、首先读取XML的数据,但是必须在XML中的数据有分类,好像数据表记录中的名称和分类一样;
2、在TreeView中建立分类树杈;
3、在各分类树杈中选择记录的名称。
下面我们讨论具体代码:
TreeView1.Enabled = True
Dim Nodx As Node
Set Nodx = TreeView1.Nodes.Add(, , , 1)
Nodx.Text = "树主干名称"
Nodx.Image = "TP1"
TreeView1.LabelEdit = tvwManual
Set Nodx = TreeView1.Nodes.Add(1, tvwChild, "A1", "分类名称1") '第一枝杈
Nodx.Image = "TP2"
Set Nodx = TreeView1.Nodes.Add(1, tvwChild, "A2", "分类名称2") '第二枝杈
Nodx.Image = "TP2"
Set Nodx = TreeView1.Nodes.Add(1, tvwChild, "A3", "分类名称3") '第三枝杈
Nodx.Image = "TP2"
Set Nodx = TreeView1.Nodes.Add(1, tvwChild, "A4", "分类名称4") '第四枝杈
Nodx.Image = "TP2"
.........................多分类可继续添加
'连接XML语句,并获得各变量,包括分类变量和名称变量,可以用变量数组
For I=1 To XML数据记录数
If XML的分类变量 = "分类名称1" Then
Set Nodx = TreeView1.Nodes.Add("A1", tvwChild) '第一枝杈内的项目
Nodx.Text = XML的名称变量
ElseIf XML的分类变量 = "分类名称2" Then
Set Nodx = TreeView1.Nodes.Add("A2", tvwChild) '第二枝杈内的项目
Nodx.Text = XML的名称变量
ElseIf XML的分类变量 = "分类名称3" Then
Set Nodx = TreeView1.Nodes.Add("A3", tvwChild) '第三枝杈内的项目
Nodx.Text = XML的名称变量
ElseIf XML的分类变量 = "分类名称4" Then
Set Nodx = TreeView1.Nodes.Add("A4", tvwChild) '第四枝杈内的项目
Nodx.Text = XML的名称变量
.........................多分类可继续添加
End If
Nodx.Image = "TP3"
Nodx.Tag = "Site"
Next I
Nodx.EnsureVisible
TreeView1.StartLabelEdit
其中Nodx.Image = "TP1"、Nodx.Image = "TP2"、Nodx.Image = "TP3" 是VB中ImageList1中的图标,在这里可显示不同图标以示区别。
展开全部
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[i],8,length(sl.strings[i])-16));
sl.free;
end;
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[i],8,length(sl.strings[i])-16));
sl.free;
end;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询