如果你用的是DELPHI6可以看他的DEMO下面的一个对XML进行操作的例子,非常详细的。在DELPHI的安装目录的DEMO\INTERNET\ 下有:XMLTransform、XMLTransformClient、XMLTransformParam、XMLTransformProvider 、这么4个例子,你好好看看,比谁讲的都好~~HOHO,为什么不好好看帮助和DEMO呢?这些都是很好的书~
解决方案 »
- 高分求摄象头视频格式大小问题
- 如何得到dxDBGrid中鼠标点击的单元格的值 ,在线等待,急!~~!~~!
- bdgrid中动态刷新数据?
- 做快闪窗口,如何显示启动信息?
- Monthbetween的BUG?求月份的差数不正确!!!
- 帮忙看的错误是什么意思
- TQuery的难题研究,有请高手
- 动态更改CleintDataSet中字段的类型,比如sstring类型的改成Float类型的。
- 有谁知道怎么发短信(delphi)要付费吗?
- 问题多多,,取dbgrid1某一个cell的值,,,嘿嘿@_@
- 用哪个函数将QReport或ReportBuilder不能打印的Unicode字符转换为图形!
- 调用外部程序的问题
多谢指点!
不过好象它对XML文件的格式有一定的要求,而不象C#中那样不管黑XML白XML,只要是XML就能转换。
procedure tform1.domtotree(xmlnode : ixmlnode; treenode : ttreenode);
var
i : integer;
newtreenode : ttreenode;
nodetext : string;
attrnode : ixmlnode;
begin
if xmlnode.NodeType = ntElement then
begin
nodetext := xmlnode.LocalName;
for i:=0 to xmlnode.AttributeNodes.Count -1 do
begin
attrnode := xmlnode.AttributeNodes.Nodes[i];
nodetext:=nodetext+' '+attrnode.NodeName +'='+attrnode.text;
end; if xmlnode.IsTextElement then
nodetext := nodetext+' '+xmlnode.Text; newtreenode:= treeview1.Items.AddChild(treenode,nodetext); if xmlnode.HasChildNodes then
for I:=0 to xmlnode.ChildNodes.Count -1 do
domtotree(xmlnode.ChildNodes.Nodes[i],newtreenode);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
opendialog1.InitialDir := extractfilepath(application.ExeName);
if opendialog1.Execute then
begin
xmldoc.LoadFromFile(opendialog1.FileName );
treeview1.Items.Clear ;
domtotree(xmldoc.DocumentElement ,nil);
treeview1.FullExpand ;
end;
end;