如果你用的是DELPHI6可以看他的DEMO下面的一个对XML进行操作的例子,非常详细的。在DELPHI的安装目录的DEMO\INTERNET\ 下有:XMLTransform、XMLTransformClient、XMLTransformParam、XMLTransformProvider 、这么4个例子,你好好看看,比谁讲的都好~~HOHO,为什么不好好看帮助和DEMO呢?这些都是很好的书~
解决方案 »
- 帮帮忙,翻译VC代码为Delphi代码,谢谢!!!
- 哪位知道2006版怎么调出decision cube?
- 高手指教,问题解决,利马结账
- watch , CDEvents , PrevPrinter 是DELPHI 默认的类吗???
- 我怎么向一个建好的表CustInfo.db增加字段呢?
- 哪里有ERWIN的质料下载?
- CCC_WH进来领分
- PL/0编译器: 加入一维数组、else和repeat until语句的实现方法
- 我在批量处理的情况下 adodataset1.DeleteRecords(arCurrent);为什么错误?
- 观棋不语真君子,见死不救是????大家快来救命呀!!!!!!!
- 用哪个函数将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;