求教一个delphi读取xml的问题
XMLDoc := nil;
XMLDoc := TXMLDocument.Create(nil) ;
XMLDoc.FileName := WideString(edtExchgFile);
try
XMLDoc.Active := True;
//在这里使用 XMLDoc
Memo1.Lines.Add( '根节点的名字为: ' + XMLNode.NodeName );
Memo1.Lines.Add( '根节点下的子节点数目为: ' + IntToStr(XMLNode.ChildNodes.Count ));
XMLDoc.Active := False;
except
on E:Exception do
begin
memo1.Lines.Add(E.message);
end;
end;
XMLDoc := nil;
出错了,出错信息如下:
The system cannot locate the object specified.
Line: 0
不知是什么意思,求教
[解决办法]
你的 XMLDoc.FileName := WideString(edtExchgFile);
文件必须是标准的XML格式
否则就会出错, <?xml version= "1.0 " encoding= "GB2312 "?> 是XML的头信息:
<?xml version= "1.0 " encoding= "GB2312 "?>
<gs ver= "1.0 " function= "合约单位挂帐取消 " mode = "result ">
<art>
<artNo> 技师号 </artNo>
<cName> 技师姓名 </cName>
<sex> 性别 </sex>
<Age> 年龄 </Age>
<Hieght> 身高 </Hieght>
<Weight> 体重 </Weight>
<Home> 籍贯 </Home>
<ArtModeNo> </ArtModeNo>
<Onduty> 是否当值 </Onduty>
<Status> 状态 </Status >
</art>
<art>
<artNo> 技师号2 </artNo>
<cName> 技师姓名2 </cName>
<sex> 性别2 </sex>
<Age> 年龄2 </Age>
<Hieght> 身高2 </Hieght>
<Weight> 体重2 </Weight>
<Home> 籍贯2 </Home>
<ArtModeNo> 技师类型2 </ArtModeNo>
<Onduty> 是否当值2 </Onduty>
<Status> 状态2 </Status >
</art>
</gs>