F
foxgang
Unregistered / Unconfirmed
GUEST, unregistred user!
我想用TTreeview显示一个XML文件并进行修改操作,使用D6的XMLdo
M ,
参照前面的问题回答有下面一段程序用于显示,我想同时将DOM的节点赋值给
TTreenode的data属性以便用户操作后能够直接修改DOM里面的值,
编译通过,但是赋值实际上不正确,运行报错,请问应该怎样正确的写data.
procedure TForm1.ActtreeExecute(Sender: TObject);
procedure add(Xnode: IXMLNode ;
Tnode: TTreeNode) ;
Var
i :integer ;
V :TTreeNode ;
begin
if Xnode.NodeType = ntElement then
begin
if Xnode.NodeName='cat'then
begin
V:=TreeView1.Items.AddChild(Tnode,(Xnode.Attributes['id']+' '+Xnode.Attributes['name']));
V.Data:=@Xnode;
end;
for i := 0 to Xnode.ChildNodes.Count-1do
begin
add(Xnode.ChildNodes,V);
end
end;
end;
var j : integer ;
begin
for j:= 0 to XML1.DocumentElement.ChildNodes.Count-1do
begin
add(XML1.DocumentElement.ChildNodes[j], nil);
end;
end;
M ,
参照前面的问题回答有下面一段程序用于显示,我想同时将DOM的节点赋值给
TTreenode的data属性以便用户操作后能够直接修改DOM里面的值,
编译通过,但是赋值实际上不正确,运行报错,请问应该怎样正确的写data.
procedure TForm1.ActtreeExecute(Sender: TObject);
procedure add(Xnode: IXMLNode ;
Tnode: TTreeNode) ;
Var
i :integer ;
V :TTreeNode ;
begin
if Xnode.NodeType = ntElement then
begin
if Xnode.NodeName='cat'then
begin
V:=TreeView1.Items.AddChild(Tnode,(Xnode.Attributes['id']+' '+Xnode.Attributes['name']));
V.Data:=@Xnode;
end;
for i := 0 to Xnode.ChildNodes.Count-1do
begin
add(Xnode.ChildNodes,V);
end
end;
end;
var j : integer ;
begin
for j:= 0 to XML1.DocumentElement.ChildNodes.Count-1do
begin
add(XML1.DocumentElement.ChildNodes[j], nil);
end;
end;