当前位置:主页>仓库管理软件> 列表

delphi5.0程序中使用读写XML文件的问题?(急.. 找管家婆财务软件教程

进销存软件版1楼: delphi6.0开始才加入了XML组件,我现在需要在delphi5.0程序中使用读写XML文件,所以在delphi6.0制作一个dll,结果在调用dll的读取XML文件函数时,提示‘Microsoft MSXML is not installed’,请问如何解决这个问题?

2楼: 怎么没得人说话呀,给点建议! 如管家婆财务软件教程

3楼: 在D5中需要加入相应的XML的类才行的!
我1月份刚刚做过用D5写XML文件!

4楼: 怎么加入MSXML.dll?

5楼: uses MSXML2_TLB
var
doc:IXMLDOMDocument;
aElement,aElement2 : IXMLDOMElement;
aNode:IXMLDOMNode ;
begin
doc := CoDOMDocument.create;

//加入版本信息
doc.AppendChild(doc.CreateProcessingInstruction(''xml'','' version="1.0" encoding="GBK"''));
//加入根结点
doc.AppendChild(doc.CreateElement(''package''));
Doc.DocumentElement.setAttribute(''version'',''1.0'');

//加入子结点
aElement:=IXMLDOMElement(Doc.DocumentElement.AppendChild(Doc.CreateElement(''pub'')));


aNode := aElement.appendChild(Doc.CreateElement(''code''));
aNode.text := ''201'';

aNode := aElement.appendChild(Doc.CreateElement(''msgnumber''));
aNode.text := ''0101''; //财政厅

aNode := aElement.appendChild(Doc.CreateElement(''czjname''));
aNode.text := ''ZJSCZT'';

aNode := aElement.appendChild(Doc.CreateElement(''sender''));
aNode.text := ''01'';

aNode := aElement.appendChild(Doc.CreateElement(''receiver''));
aNode.text := ''0300''; //人民银行

aNode := aElement.appendChild(Doc.CreateElement(''msgstatus''));
aNode.text := ''0'';

aElement:=IXMLDOMElement(Doc.DocumentElement.AppendChild(Doc.CreateElement(''req'')));
aElement.SetAttribute(''ansback'', ''no'');

aElement2 :=IXMLDOMElement(aElement.appendChild(Doc.CreateElement(''main'')));

aElement2.setAttribute(''fieldsname'', sMainFieldsName );

for i:=1 to iRows do
begin
if tsGrid_AuthClearSum.Cell[2,i] = 1 then
begin
//主表记录值 authclearsum
sMainValue := tsGrid_AuthClearSum.Cell[5,i] + sSign
+ tsGrid_AuthClearSum.Cell[6,i] + sSign
+ tsGrid_AuthClearSum.Cell[3,i] + sSign
+ format(''%.2d'',[StrToInt(tsGrid_AuthClearSum.Cell[8,i])]) + sSign
+ format(''%1.2f'',[StrToFloat(StringReplace(tsGrid_AuthClearSum.Cell[4,i],'','','''',[rfReplaceAll]))])
+ sSign + tsGrid_AuthClearSum.Cell[9,i];

aNode := aElement2.appendChild(Doc.CreateElement(''value''));
aNode.text := sMainValue ;
end;
end;

aElement :=IXMLDOMElement(aElement.appendChild(Doc.CreateElement(''detail'')));
aElement.setAttribute(''fieldsname'',sDetailFieldsName );
//保存文件位置及文件名
doc.save(sFileName);

doc := nil;

这只是符上不完的代码,希望对你有用! 我只作了写XML,对于读相信也是差不多的!

6楼: 谢谢,你是在D5下写的吗?uses MSXML2_TLB不能通过呢?引用不到.

进销存软件版7楼: 大哥,还在不在?再帮助一哈.

8楼: 导入一个 activeX 控件,就是MS的XML东西 版本有3.0 和最新的 4.0

9楼: 不好意思 是在 import type library 导入 XML的相应东西
在选择框中 有相关XML1.0、2.0、 3.0、4.0 等
选中 XML 4.0
选中后,文件路径为 X:\windows\system32\msxml4.dll

10楼: 谢谢,给分!