5,388
社区成员
发帖
与我相关
我的任务
分享
僵哥您好:首先我把完整的xml贴出来,内容可能很多<?xml version="1.0" encoding="GB2312" ?>
- <data>
<YKC201>医院门诊交易流水号</YKC201>
<yka026>门诊大病编码</yka026>
<ykc102>科室名称</ykc102>
<ykc103>医师姓名</ykc103>
<ykc104>诊断病种</ykc104>
<ykc06>收费员</ykc06>
- <datasetyp> --//药品清单
- <row>
<ykc120>序号</ykc120>
<aka060>药品编码</aka060>
<aka079>医疗机构药品编码</aka079>
<aka061>药品名称</aka061>
<aka067>计量单位</aka067>
<aka073>规格</aka073>
<yka200>单价</yka200>
<yak201>数量</yak201>
<yka202>金额</yka202>
</row>
</datasetyp>
- <datasetzl>--//诊疗清单
- <row>
<ykc120>序号</ykc120>
<aka090>诊疗编码</aka090>
<aka079>医疗机构诊疗编码</aka079>
<aka061>医疗机构诊疗名称</aka061>
<aka067>计量单位</aka067>
<yka200>单价</yka200>
<yka201>数量</yka201>
<yka202>金额</yka202>
</row>
</datasetzl>
</data>
肯定不行,为什么呢?1个病人结算完成了,不可能让下一个病人在等待2-3分钟的程序释放时间....我想的方法是,如果某一个医生的完成了,就直接删除xml文件,然后新建立一个,所以在我代码中用到if not fileExists(name) then[/color]function TForm1.I_XML_11(XMLDocument1:IXMLDocument):IXMLNode;
var
XMLNode,topNode,dataNode,Parent_Node:IXMLNode;
i:integer;
name:string;
begin
name:=ExtractFilePath(Application.Exename)+'I_XML_11.xml';
if not fileExists(name) then //如果delphi2008.txt不存在
begin
XMLDocument1.Active:=true;
XMLDocument1.version := '1.0';
XMLDocument1.Encoding:='GB2312';
XMLNode:=XMLDocument1.AddChild('data');
topNode:=XMLNode.AddChild('YKC201');
topNode.Text:='医院门诊交易流水号';
topNode:=XMLNode.AddChild('yka026');
topNode.Text:='门诊大病编码';
topNode:=XMLNode.AddChild('ykc102');
topNode.Text:='科室名称';
topNode:=XMLNode.AddChild('ykc103');
topNode.Text:='医师姓名';
topNode:=XMLNode.AddChild('ykc104');
topNode.Text:='诊断病种';
topNode:=XMLNode.AddChild('ykc06');
topNode.Text:='收费员';
topNode:=XMLNode.AddChild('datasetyp');
begin
topNode:=topNode.AddChild('row');
//parent_Node.SetAttributeNS('');
dataNode:=topNode.AddChild('ykc120');
dataNode.Text:='序号';
dataNode:=topNode.AddChild('aka060');
dataNode.Text:='药品编码';
dataNode:=topNode.AddChild('aka079');
dataNode.Text:='医疗机构药品编码';
dataNode:=topNode.AddChild('aka061');
dataNode.Text:='药品名称';
dataNode:=topNode.AddChild('aka067');
dataNode.Text:='计量单位';
dataNode:=topNode.AddChild('aka073');
dataNode.Text:='规格';
dataNode:=topNode.AddChild('yka200');
dataNode.Text:='单价';
dataNode:=topNode.AddChild('yak201');
dataNode.Text:='数量';
dataNode:=topNode.AddChild('yka202');
dataNode.Text:='金额';
end;
topNode:=XMLNode.AddChild('datasetzl');
topNode:=topNode.AddChild('row');
dataNode:=topNode.AddChild('ykc120');
dataNode.Text:='序号';
dataNode:=topNode.AddChild('aka090');
dataNode.Text:='诊疗编码';
dataNode:=topNode.AddChild('aka079');
dataNode.Text:='医疗机构诊疗编码';
dataNode:=topNode.AddChild('aka061');
dataNode.Text:='医疗机构诊疗名称';
dataNode:=topNode.AddChild('aka067');
dataNode.Text:='计量单位';
dataNode:=topNode.AddChild('yka200');
dataNode.Text:='单价';
dataNode:=topNode.AddChild('yka201');
dataNode.Text:='数量';
dataNode:=topNode.AddChild('yka202');
dataNode.Text:='金额';
XMLDocument1.SaveToFile('I_XML_11.xml');
//在这里肯定有一个else 加载文件,然后把第二次的清单插入----能力有限,无法处理else
XMLDocument1.LoadFromFile(ExtractFilePath(Application.Exename)+'I_XML_11.xml');
XMLDocument1.Active:=true;
end;
这是我创建的代码