永发信息网

delphi中无form的Unit中如何使用XMLDocument组件

答案:4  悬赏:0  手机版
解决时间 2021-02-01 19:13
  • 提问者网友:谁的错
  • 2021-01-31 19:08
初学delphi,想写一个独立的处理XML文件的一个Unit,发现没有Form的Unit中好像不能编译XMLDocument,我想再其他Unit中调用这个Unit的into2()方法请指教。谢谢!
------------------------------------------------------
unit Unit2;

interface

uses
Dialogs, StdCtrls, xmldom, XMLIntf, msxmldom, XMLDoc;

var
XMLDocument1: TXMLDocument;
procedure into2();

implementation

procedure into2();
begin
XMLDocument1.LoadFromFile('c:\temp\test.xml'); ShowMessage(XMLDocument1.DocumentElement.ChildNodes[0].ChildNodes['姓名'].Text);
end;

end.
最佳答案
  • 五星知识达人网友:像个废品
  • 2021-01-31 20:37
你这样只声明XMLDocument1并没有创建啊.
XMLDocument1:=TXMLDocument.Create(nil);//创建
try
//干你的活....
XMLDocument1.LoadFromFile('c:\temp\test.xml');
ShowMessage(XMLDocument1.DocumentElement.ChildNodes[0].ChildNodes['姓名'].Text);
finally
XMLDocument1.free;//用完要记得释放掉
end;
全部回答
  • 1楼网友:不如潦草
  • 2021-02-01 00:05
我好像学delphi7有什么好书或者好网站介绍我下吧大哥!共同学习
  • 2楼网友:逐風
  • 2021-01-31 22:35
不是这个问题,use的问题,使用xmldocument要引用xmldoc,在interface下的uses里引用,把into2方法按上面说的正确的写在一个unit里,别的地方引用这个unit就可以了
  • 3楼网友:等灯
  • 2021-01-31 21:18
不是因为没有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; end;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯