delphi txmldocument报错 no active document

2016-10-31 19:04:10来源:CSDN作者:dacong人点击

delphi txmldocument报错 no active document,在控制台程序中。主要表现是使用如下代码:doc := TXMLDocument.Create(nil); 或者doc:= TXMLDocument.Create('c:/temp/temp.xml');
如果拖一个控件在form上或者使用TXMLDocument.Create(sefl);都是没有问题的。
txmldocument no active document

解决方案:在delphi xe8上测试通过

不是因为没有Form不能使用,是因为你的使用方法有问题,XMLDocument组件要这样使用:

uses
XmlDoc, xmlIntf;

var 
ixd: IXmlDocument;
root: IXmlNode;
begin
// 创建Xml文档
ixd := NewXmlDocument();
try
// 加载XML文件
ixd.LoadFromFile('C:/temp/text.xml');
// 激活以后才能使用
ixd.Active := true;
// 取得XML文档的根结点
root := ixd.ChildNodes.Last;

ShowMessage(root.ChildNodes.Nodes['姓名'].Text);
finally
//不需要进行释放,IXmlDocument是接口,置空以后会自动释放
ixd := nil;
end;





失败案例

procedure TMainForm.Button1Click(Sender:TObject);

Var

  XML:TXMLDocument;

  I:Integer;

begin

  XML:=TXMLDocument.Create(nil);

  XML.LoadFromFile(ExtractFilePath(Application.ExeName)+'demo.xml');

  XML.Active:=True;

  For I:=0 to XML.DocumentElement.ChildNodes.Count-1 do

  begin

     //do something

  end;

  XML.



最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台