永发信息网

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

答案:4  悬赏:0  手机版
解决时间 2021-02-01 19:13
初学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.
最佳答案
你这样只声明XMLDocument1并没有创建啊.
XMLDocument1:=TXMLDocument.Create(nil);//创建
try
//干你的活....
XMLDocument1.LoadFromFile('c:\temp\test.xml');
ShowMessage(XMLDocument1.DocumentElement.ChildNodes[0].ChildNodes['姓名'].Text);
finally
XMLDocument1.free;//用完要记得释放掉
end;
全部回答
我好像学delphi7有什么好书或者好网站介绍我下吧大哥!共同学习
不是这个问题,use的问题,使用xmldocument要引用xmldoc,在interface下的uses里引用,把into2方法按上面说的正确的写在一个unit里,别的地方引用这个unit就可以了
不是因为没有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;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
泉州宝洲路的商品市场春节什么时候营业
鞋底跟鞋子是缝起来的而不是用胶水粘住的那种
百度一下北斗七星和一条蛇是什么成语
名匠纹身发艺怎么去啊,我要去那办事
如果在一层水泥地上铺层泥土能养花吗?
谈笑有鸿儒往来无白丁下一句
天梭手表钢带可以换皮带么
怎么把视频画面放大
下图表示人体的特异性免疫过程,请据图作答。
饮木的意思是什么啊?知道的请说下!
寿光到临沂怎么走?
倍尔秀植物养发堂地址在哪,我要去那里办事
我们的天空是黄家强唱的吗
=0)且c1=4,c2=8,求数列{cn}的通项公式
在年金保险中,设计变的额年金保险的目的是
推荐资讯
爱美丽美甲地址在什么地方,我要处理点事
请问还建房可以用还建房抵押给银行贷款买还建
三元乙丙橡胶防水卷材与传统沥青防水卷材相比
隆济的意思是什么啊?知道的请说下!
谁知道“浙江省嘉善县丁新线14公里+200米”是
城关信用社(北城分社)地址有知道的么?有点事
羣帝的意思是什么啊?知道的请说下!
库仑加油加气站地址在哪,我要去那里办事
有人诈骗了你七万多元,你应该怎么做
洛克王国为什么说杰诺斯浅海有水怪要欺负水蓝
发动机节气门积碳会导致汽车出现怎样问题?
关于超敏反应正确理解是A.不出现组织细胞损伤
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?