如何读取 XML节点的数据?(200分)

  • 主题发起人 主题发起人 jlcsx
  • 开始时间 开始时间
J

jlcsx

Unregistered / Unconfirmed
GUEST, unregistred user!
文件内容如下:

<?xml version="1.0" encoding="gb2312" ?>
- <orderlist>
- <order>
<orderid>GS080416-000101</orderid>
<trade>教工路配送点</trade>
<totalprice>8</totalprice>
<contact>林先生</contact>
<delivertime>尽快</delivertime>
<sendtime>2008-04-16 02:21:52</sendtime>
<userinfo />
<address>创业大厦10楼A座</address>
<phone>13568795556</phone>
<type>快钱在线支付</type>
- <detail>
<price>20.00</price>
<PName>四季豆腰果百合</PName>
<productnum />
<number>1</number>
<price>20.00</price>
<PName>豆豉鲮鱼油麦菜</PName>
<productnum />
<number>1</number>
<price>24.00</price>
<PName>麻婆豆腐明虾</PName>
<productnum />
<number>1</number>
<price>39.00</price>
<PName>台式三杯鸡煲</PName>
<productnum />
<number>1</number>
<price>61.00</price>
<PName>咖喱牛腩煲</PName>
<productnum />
<number>2</number>
<price>21.00</price>
<PName>泰式炒杂菜</PName>
<productnum />
<number>1</number>
<price>18.00</price>
<PName>葱爆二样</PName>
<productnum />
<number>1</number>
<price>15.00</price>
<PName>瑶柱水蒸蛋</PName>
<productnum />
<number>2</number>
<price>3.00</price>
<PName>芬达</PName>
<productnum />
<number>1</number>
</detail>
</order>
- <order>
<orderid>GS080416-000100</orderid>
<trade>教工路配送点</trade>
<totalprice>9</totalprice>
<contact>林先生</contact>
<delivertime>尽快</delivertime>
<sendtime>2008-04-16 02:20:19</sendtime>
<userinfo />
<address>创业大厦10楼A座</address>
<phone>13568795556</phone>
<type>快钱在线支付</type>
- <detail>
<price>20.00</price>
<PName>四季豆腰果百合</PName>
<productnum />
<number>1</number>
<price>20.00</price>
<PName>豆豉鲮鱼油麦菜</PName>
<productnum />
<number>1</number>
<price>24.00</price>
<PName>麻婆豆腐明虾</PName>
<productnum />
<number>1</number>
<price>39.00</price>
<PName>台式三杯鸡煲</PName>
<productnum />
<number>1</number>
<price>61.00</price>
<PName>咖喱牛腩煲</PName>
<productnum />
<number>2</number>
<price>21.00</price>
<PName>泰式炒杂菜</PName>
<productnum />
<number>1</number>
<price>18.00</price>
<PName>葱爆二样</PName>
<productnum />
<number>1</number>
<price>15.00</price>
<PName>瑶柱水蒸蛋</PName>
<productnum />
<number>2</number>
<price>3.00</price>
<PName>芬达</PName>
<productnum />
<number>1</number>
<price>4.00</price>
<PName>米饭</PName>
<productnum />
<number>1</number>
</detail>
</order>
</orderlist>


请教如何读取?
 
//自己写的函数:以下函数为读取一个指定的xml文件内容,包括自动读取属性和属性值。将结果写到一个memo里。wlh 080328
//合适2级结构
function getxml(xmlfilename:string;xml:Txmldocument;memo:Tmemo):string;
var xmlnode1,rootnode:Ixmlnode;
i,j,m,n,p:integer;
nodename:string;
begin
memo.Clear ;
xml.FileName:=xmlfilename;
xml.Active:=true;

i:=0;

rootnode:= xml.DocumentElement;
xmlnode1:= xml.DocumentElement;
j:=rootnode.ChildNodes.Count;//根下有多少个一级节点

for i:=0 to rootnode.ChildNodes.Count- 1 do

begin
n:=rootnode.ChildNodes.ChildNodes.Count ;//每个节点下有多少属性项
for p := 0 to n- 1 do
begin
xmlnode1:=rootnode.ChildNodes.ChildNodes[p];
nodename:=xmlnode1.NodeName ;//属性项的名称

memo.Lines.Add((nodename+': '+xmlnode1.Text));//属性值


end;
memo.Lines.Add('------------------------------------------------------------------') ;

end;
end;



类似如下结构:

<NewDataSet> //根
//一级节点1
- <Table>
<Country>China</Country> //节点下属性1名称和值
<City>Beijing</City> //节点下属性2名称和值
</Table>

//一级节点2
- <Table>
<Country>China</Country>
<City>Hohhot</City>
</Table>
.....
 
procedure Tf_main.Timer1Timer(Sender: TObject);
var
ProcessCallerWS1 :ProcessCallerWS;
Root,NodeData,NodeJG,NodeBS,NodeMS:IXMLNode;
begin
f_main.Timer1.Enabled :=false;
f_DataModule.ADOQuery1.Close;
f_DataModule.ADOQuery1.SQL.Clear;
f_DataModule.ADOQuery1.SQL.Add('select * from XWY_SJBDB where STS =''A'' order by OPER_DATE');
f_DataModule.ADOQuery1.Open;
IF f_DataModule.ADOQuery1.RecordCount =0 THEN ELSE
BEGIN
HTTPRIO1.URL := 'http://'+trim(f_DataModule.Table1.FieldByName('serverip').AsString)+'/axis/services/BizService';
HTTPRIO1.HTTPWebNode.UseUTF8InHeader := True;
ProcessCallerWS1 := (HTTPRIO1 as ProcessCallerWS);
f_DataModule.ADOQuery1.First;
WHILE NOT f_DataModule.ADOQuery1.Eof DO
BEGIN
if trim(f_DataModule.ADOQuery1.FieldByName('TABLE_NAME').AsString) ='V_XWY_XDRSYPZ' THEN
BEGIN
IF trim(f_DataModule.ADOQuery1.FieldByName('OPER_TYPE').AsString) ='I' THEN
BEGIN

END ELSE IF trim(f_DataModule.ADOQuery1.FieldByName('OPER_TYPE').AsString) ='U' THEN
BEGIN

END ELSE IF trim(f_DataModule.ADOQuery1.FieldByName('OPER_TYPE').AsString) ='D' THEN
BEGIN

END;
END ELSE if trim(f_DataModule.ADOQuery1.FieldByName('TABLE_NAME').AsString) ='V_XWY_XDRSYQY' THEN
BEGIN
IF trim(f_DataModule.ADOQuery1.FieldByName('OPER_TYPE').AsString) ='I' THEN
BEGIN

END ELSE IF trim(f_DataModule.ADOQuery1.FieldByName('OPER_TYPE').AsString) ='U' THEN
BEGIN

END ELSE IF trim(f_DataModule.ADOQuery1.FieldByName('OPER_TYPE').AsString) ='D' THEN
BEGIN

END;
END ELSE if trim(f_DataModule.ADOQuery1.FieldByName('TABLE_NAME').AsString) ='V_XWY_RKB' THEN
BEGIN
f_DataModule.ADOQuery2.Close;
f_DataModule.ADOQuery2.SQL.Clear;
f_DataModule.ADOQuery2.SQL.Add('select * from V_XWY_RKB where ywbh ='''+trim(f_DataModule.ADOQuery1.FieldByName('PK1').AsString)+'''');
f_DataModule.ADOQuery2.Open;
IF (trim(f_DataModule.ADOQuery1.FieldByName('OPER_TYPE').AsString) ='I') or (trim(f_DataModule.ADOQuery1.FieldByName('OPER_TYPE').AsString) ='U') THEN
BEGIN
F_MAIN.XMLDocument1.XML.Clear;
F_MAIN.XMLDocument1.XML.Add('<?xml version="1.0" encoding="GB2312" standalone="no"?>');
F_MAIN.XMLDocument1.XML.Add('<root>');
F_MAIN.XMLDocument1.XML.Add('<data>');
F_MAIN.XMLDocument1.XML.Add('<XWY_RKB>');
F_MAIN.XMLDocument1.XML.Add('<LHPH>'+trim(f_DataModule.ADOQuery2.FieldByName('lhph').AsString)+'</LHPH>');
F_MAIN.XMLDocument1.XML.Add('<YSJL>'+trim(f_DataModule.ADOQuery2.FieldByName('ysjl').AsString)+'</YSJL>');
F_MAIN.XMLDocument1.XML.Add('<SPMC>'+trim(f_DataModule.ADOQuery2.FieldByName('spmc').AsString)+'</SPMC>');
F_MAIN.XMLDocument1.XML.Add('<SPBM>'+trim(f_DataModule.ADOQuery2.FieldByName('spbm').AsString)+'</SPBM>');
F_MAIN.XMLDocument1.XML.Add('<MJPH>'+trim(f_DataModule.ADOQuery2.FieldByName('mjph').AsString)+'</MJPH>');
try
F_MAIN.XMLDocument1.XML.Add('<YXRQ pattern="yyyy-MM-dd">'+formatdatetime('yyyy-MM-dd',f_DataModule.ADOQuery2.FieldByName('yxq').AsDateTime)+'</YXRQ>');
except
F_MAIN.XMLDocument1.XML.Add('<YXRQ pattern="yyyy-MM-dd"></YXRQ>');
end;
F_MAIN.XMLDocument1.XML.Add('<BGSBH>'+trim(f_DataModule.ADOQuery2.FieldByName('bgsbh').AsString)+'</BGSBH>');
F_MAIN.XMLDocument1.XML.Add('<PZWH>'+trim(f_DataModule.ADOQuery2.FieldByName('pzwh').AsString)+'</PZWH>');
try
F_MAIN.XMLDocument1.XML.Add('<YSRQ pattern="yyyy-MM-dd">'+formatdatetime('yyyy-MM-dd',f_DataModule.ADOQuery2.FieldByName('ysrq').AsDateTime)+'</YSRQ>');
except
F_MAIN.XMLDocument1.XML.Add('<YSRQ pattern="yyyy-MM-dd"></YSRQ>');
end;
try
F_MAIN.XMLDocument1.XML.Add('<DHRQ pattern="yyyy-MM-dd">'+formatdatetime('yyyy-MM-dd',f_DataModule.ADOQuery2.FieldByName('dhrq').AsDateTime)+'</DHRQ>');
except
F_MAIN.XMLDocument1.XML.Add('<DHRQ pattern="yyyy-MM-dd"></DHRQ>');
end;
F_MAIN.XMLDocument1.XML.Add('<SCPH>'+trim(f_DataModule.ADOQuery2.FieldByName('scph').AsString)+'</SCPH>');
F_MAIN.XMLDocument1.XML.Add('<XDR_ID>'+trim(f_DataModule.Table1.FieldByName('qiyid').AsString)+'</XDR_ID>');
F_MAIN.XMLDocument1.XML.Add('<CGY>'+trim(f_DataModule.ADOQuery2.FieldByName('cgy').AsString)+'</CGY>');
F_MAIN.XMLDocument1.XML.Add('<GYSMC>'+trim(f_DataModule.ADOQuery2.FieldByName('gysmc').AsString)+'</GYSMC>');
F_MAIN.XMLDocument1.XML.Add('<WGZL>'+trim(f_DataModule.ADOQuery2.FieldByName('wgzl').AsString)+'</WGZL>');
F_MAIN.XMLDocument1.XML.Add('<TYMC>'+trim(f_DataModule.ADOQuery2.FieldByName('tymc').AsString)+'</TYMC>');
F_MAIN.XMLDocument1.XML.Add('<YWBH>'+trim(f_DataModule.ADOQuery2.FieldByName('ywbh').AsString)+'</YWBH>');
F_MAIN.XMLDocument1.XML.Add('<SCQY>'+trim(f_DataModule.ADOQuery2.FieldByName('scqy').AsString)+'</SCQY>');
F_MAIN.XMLDocument1.XML.Add('<GYSBH>'+trim(f_DataModule.ADOQuery2.FieldByName('gysbm').AsString)+'</GYSBH>');
F_MAIN.XMLDocument1.XML.Add('<GG>'+trim(f_DataModule.ADOQuery2.FieldByName('gg').AsString)+'</GG>');
F_MAIN.XMLDocument1.XML.Add('<SL>'+trim(f_DataModule.ADOQuery2.FieldByName('sl').AsString)+'</SL>');
F_MAIN.XMLDocument1.XML.Add('<YSR>'+trim(f_DataModule.ADOQuery2.FieldByName('ysr').AsString)+'</YSR>');
F_MAIN.XMLDocument1.XML.Add('<JX>'+trim(f_DataModule.ADOQuery2.FieldByName('jx').AsString)+'</JX>');
F_MAIN.XMLDocument1.XML.Add('<BZ>'+trim(f_DataModule.ADOQuery2.FieldByName('bz').AsString)+'</BZ>');
F_MAIN.XMLDocument1.XML.Add('<YSDH>'+trim(f_DataModule.ADOQuery2.FieldByName('ysdh').AsString)+'</YSDH>');
F_MAIN.XMLDocument1.XML.Add('<DW>'+trim(f_DataModule.ADOQuery2.FieldByName('dw').AsString)+'</DW>');
F_MAIN.XMLDocument1.XML.Add('</XWY_RKB>');
F_MAIN.XMLDocument1.XML.Add('</data>');
F_MAIN.XMLDocument1.XML.Add('</root>');

self.XMLDocument1.Active := true;
Memo1.Clear;

Memo1.Text := ProcessCallerWS1.runBiz('xsda_jk','0','bizJieKou.bizRuKuBaoCun','primeton',XMLDocument1.XML.Text);

XMLDocument1.XML.Clear;
XMLDocument1.XML.Assign(Memo1.Lines);
self.XMLDocument1.Active := true;
Root := self.XMLDocument1.DocumentElement;
NodeData := Root.ChildNodes['data'];
NodeJG := NodeData.ChildNodes['JG'];
NodeBS := NodeJG.ChildNodes['BS'];
NodeMS := NodeJG.ChildNodes['MS'];

IF strtoint(NodeBS.Text) >0 THEN
begin
n :=n+1;
f_DataModule.ADOQuery3.Close;
f_DataModule.ADOQuery3.SQL.Clear;
f_DataModule.ADOQuery3.SQL.Add('update XWY_SJBDB set STS=''P'' where ID ='+TRIM(f_DataModule.ADOQuery1.FieldByName('ID').AsString)+'');
f_DataModule.ADOQuery3.ExecSQL;
end else
begin
m :=m+1;
f_DataModule.ADOQuery3.Close;
f_DataModule.ADOQuery3.SQL.Clear;
f_DataModule.ADOQuery3.SQL.Add('update XWY_SJBDB set STS=''F'' where ID ='+trim(f_DataModule.ADOQuery1.FieldByName('ID').AsString)+'');
f_DataModule.ADOQuery3.ExecSQL;
WriteLog(NodeMs.Text);
end;
END ELSE IF trim(f_DataModule.ADOQuery1.FieldByName('OPER_TYPE').AsString) ='D' THEN
BEGIN
F_MAIN.XMLDocument1.XML.Clear;
F_MAIN.XMLDocument1.XML.Add('<?xml version="1.0" encoding="GB2312" standalone="no"?>');
F_MAIN.XMLDocument1.XML.Add('<root>');
F_MAIN.XMLDocument1.XML.Add('<data>');
F_MAIN.XMLDocument1.XML.Add('<XWY_RKB>');
F_MAIN.XMLDocument1.XML.Add('<XDR_ID>'+trim(f_DataModule.Table1.FieldByName('qiyid').AsString)+'</XDR_ID>');
F_MAIN.XMLDocument1.XML.Add('<YWBH>'+trim(f_DataModule.ADOQuery2.FieldByName('ywbh').AsString)+'</YWBH>');
F_MAIN.XMLDocument1.XML.Add('</XWY_RKB>');
F_MAIN.XMLDocument1.XML.Add('</data>');
F_MAIN.XMLDocument1.XML.Add('</root>');

XMLDocument1.Active := true;
Memo1.Clear;

Memo1.Text := ProcessCallerWS1.runBiz('xsda_jk','0','bizJieKou.bizRuKuShanChu','primeton',XMLDocument1.XML.Text);

XMLDocument1.XML.Clear;
XMLDocument1.XML.Assign(Memo1.Lines);
XMLDocument1.Active := true;
Root := self.XMLDocument1.DocumentElement;
NodeData := Root.ChildNodes['data'];
NodeJG := NodeData.ChildNodes['JG'];
NodeBS := NodeJG.ChildNodes['BS'];
NodeMS := NodeJG.ChildNodes['MS'];

IF strtoint(NodeBS.Text) >0 THEN
begin
n :=n+1;
f_DataModule.ADOQuery2.Close;
f_DataModule.ADOQuery2.SQL.Clear;
f_DataModule.ADOQuery2.SQL.Add('update XWY_SJBDB set STS=''P'' where ID ='+TRIM(f_DataModule.ADOQuery1.FieldByName('ID').AsString)+'');
f_DataModule.ADOQuery2.ExecSQL;
end else
begin
m :=m+1;
f_DataModule.ADOQuery2.Close;
f_DataModule.ADOQuery2.SQL.Clear;
f_DataModule.ADOQuery2.SQL.Add('update XWY_SJBDB set STS=''F'' where ID ='+TRIM(f_DataModule.ADOQuery1.FieldByName('ID').AsString)+'');
f_DataModule.ADOQuery2.ExecSQL;
WriteLog(NodeMs.Text);
end;
END;
END ELSE if trim(f_DataModule.ADOQuery1.FieldByName('TABLE_NAME').AsString) ='V_XWY_CKB' THEN
BEGIN
f_DataModule.ADOQuery2.Close;
f_DataModule.ADOQuery2.SQL.Clear;
f_DataModule.ADOQuery2.SQL.Add('select * from V_XWY_CKB where ywbh ='''+trim(f_DataModule.ADOQuery1.FieldByName('PK1').AsString)+'''');
f_DataModule.ADOQuery2.Open;
IF (trim(f_DataModule.ADOQuery1.FieldByName('OPER_TYPE').AsString) ='I') or (trim(f_DataModule.ADOQuery1.FieldByName('OPER_TYPE').AsString) ='U') THEN
BEGIN
F_MAIN.XMLDocument1.XML.Clear;
F_MAIN.XMLDocument1.XML.Add('<?xml version="1.0" encoding="GB2312" standalone="no"?>');
F_MAIN.XMLDocument1.XML.Add('<root>');
F_MAIN.XMLDocument1.XML.Add('<data>');
F_MAIN.XMLDocument1.XML.Add('<XWY_CKB>');
F_MAIN.XMLDocument1.XML.Add('<SPMC>'+trim(f_DataModule.ADOQuery2.FieldByName('spmc').AsString)+'</SPMC>');
F_MAIN.XMLDocument1.XML.Add('<SPBM>'+trim(f_DataModule.ADOQuery2.FieldByName('spbm').AsString)+'</SPBM>');
try
F_MAIN.XMLDocument1.XML.Add('<YXRQ pattern="yyyy-MM-dd">'+formatdatetime('yyyy-MM-dd',f_DataModule.ADOQuery2.FieldByName('yxq').AsDateTime)+'</YXRQ>');
except
F_MAIN.XMLDocument1.XML.Add('<YXRQ pattern="yyyy-MM-dd"></YXRQ>');
end;
F_MAIN.XMLDocument1.XML.Add('<PZWH>'+trim(f_DataModule.ADOQuery2.FieldByName('pzwh').AsString)+'</PZWH>');
try
F_MAIN.XMLDocument1.XML.Add('<FHRQ pattern="yyyy-MM-dd">'+formatdatetime('yyyy-MM-dd',f_DataModule.ADOQuery2.FieldByName('fhrq').AsDateTime)+'</FHRQ>');
except
F_MAIN.XMLDocument1.XML.Add('<FHRQ pattern="yyyy-MM-dd"></FHRQ>');
end;
F_MAIN.XMLDocument1.XML.Add('<SCPH>'+trim(f_DataModule.ADOQuery2.FieldByName('scph').AsString)+'</SCPH>');
F_MAIN.XMLDocument1.XML.Add('<XDR_ID>'+trim(f_DataModule.Table1.FieldByName('qiyid').AsString)+'</XDR_ID>');
F_MAIN.XMLDocument1.XML.Add('<YWY>'+trim(f_DataModule.ADOQuery2.FieldByName('ywy').AsString)+'</YWY>');
F_MAIN.XMLDocument1.XML.Add('<KHMC>'+trim(f_DataModule.ADOQuery2.FieldByName('khmc').AsString)+'</KHMC>');
F_MAIN.XMLDocument1.XML.Add('<TYMC>'+trim(f_DataModule.ADOQuery2.FieldByName('tymc').AsString)+'</TYMC>');
F_MAIN.XMLDocument1.XML.Add('<YWBH>'+trim(f_DataModule.ADOQuery2.FieldByName('ywbh').AsString)+'</YWBH>');
F_MAIN.XMLDocument1.XML.Add('<SCQY>'+trim(f_DataModule.ADOQuery2.FieldByName('scqy').AsString)+'</SCQY>');
F_MAIN.XMLDocument1.XML.Add('<KHBM>'+trim(f_DataModule.ADOQuery2.FieldByName('khbm').AsString)+'</KHBM>');
F_MAIN.XMLDocument1.XML.Add('<GG>'+trim(f_DataModule.ADOQuery2.FieldByName('gg').AsString)+'</GG>');
F_MAIN.XMLDocument1.XML.Add('<SL>'+trim(f_DataModule.ADOQuery2.FieldByName('sl').AsString)+'</SL>');
F_MAIN.XMLDocument1.XML.Add('<FHMC>'+trim(f_DataModule.ADOQuery2.FieldByName('fhr').AsString)+'</FHMC>');
F_MAIN.XMLDocument1.XML.Add('<JX>'+trim(f_DataModule.ADOQuery2.FieldByName('jx').AsString)+'</JX>');
F_MAIN.XMLDocument1.XML.Add('<BZ>'+trim(f_DataModule.ADOQuery2.FieldByName('bz').AsString)+'</BZ>');
F_MAIN.XMLDocument1.XML.Add('<FHDH>'+trim(f_DataModule.ADOQuery2.FieldByName('fhdh').AsString)+'</FHDH>');
F_MAIN.XMLDocument1.XML.Add('<DW>'+trim(f_DataModule.ADOQuery2.FieldByName('dw').AsString)+'</DW>');
F_MAIN.XMLDocument1.XML.Add('</XWY_CKB>');
F_MAIN.XMLDocument1.XML.Add('</data>');
F_MAIN.XMLDocument1.XML.Add('</root>');

self.XMLDocument1.Active := true;
Memo1.Clear;

Memo1.Text := ProcessCallerWS1.runBiz('xsda_jk','0','bizJieKou.bizChuKuBaoCun','primeton',XMLDocument1.XML.Text);

XMLDocument1.XML.Clear;
XMLDocument1.XML.Assign(Memo1.Lines);
self.XMLDocument1.Active := true;
Root := self.XMLDocument1.DocumentElement;
NodeData := Root.ChildNodes['data'];
NodeJG := NodeData.ChildNodes['JG'];
NodeBS := NodeJG.ChildNodes['BS'];
NodeMS := NodeJG.ChildNodes['MS'];

IF strtoint(NodeBS.Text) >0 THEN
begin
n :=n+1;
f_DataModule.ADOQuery2.Close;
f_DataModule.ADOQuery2.SQL.Clear;
f_DataModule.ADOQuery2.SQL.Add('update XWY_SJBDB set STS=''P'' where ID ='+trim(f_DataModule.ADOQuery1.FieldByName('ID').AsString)+'');
f_DataModule.ADOQuery2.ExecSQL;
end else
begin
m :=m+1;
f_DataModule.ADOQuery2.Close;
f_DataModule.ADOQuery2.SQL.Clear;
f_DataModule.ADOQuery2.SQL.Add('update XWY_SJBDB set STS=''F'' where ID ='+trim(f_DataModule.ADOQuery1.FieldByName('ID').AsString)+'');
f_DataModule.ADOQuery2.ExecSQL;
WriteLog(NodeMs.Text);
end;
END ELSE IF trim(f_DataModule.ADOQuery1.FieldByName('OPER_TYPE').AsString) ='D' THEN
BEGIN
F_MAIN.XMLDocument1.XML.Clear;
F_MAIN.XMLDocument1.XML.Add('<?xml version="1.0" encoding="GB2312" standalone="no"?>');
F_MAIN.XMLDocument1.XML.Add('<root>');
F_MAIN.XMLDocument1.XML.Add('<data>');
F_MAIN.XMLDocument1.XML.Add('<XWY_CKB>');
F_MAIN.XMLDocument1.XML.Add('<XDR_ID>'+trim(f_DataModule.Table1.FieldByName('qiyid').AsString)+'</XDR_ID>');
F_MAIN.XMLDocument1.XML.Add('<YWBH>'+trim(f_DataModule.ADOQuery2.FieldByName('ywbh').AsString)+'</YWBH>');
F_MAIN.XMLDocument1.XML.Add('</XWY_CKB>');
F_MAIN.XMLDocument1.XML.Add('</data>');
F_MAIN.XMLDocument1.XML.Add('</root>');

XMLDocument1.Active := true;
Memo1.Clear;

Memo1.Text := ProcessCallerWS1.runBiz('xsda_jk','0','bizJieKou.bizChuKuShanChu','primeton',XMLDocument1.XML.Text);

XMLDocument1.XML.Clear;
XMLDocument1.XML.Assign(Memo1.Lines);
XMLDocument1.Active := true;
Root := self.XMLDocument1.DocumentElement;
NodeData := Root.ChildNodes['data'];
NodeJG := NodeData.ChildNodes['JG'];
NodeBS := NodeJG.ChildNodes['BS'];
NodeMS := NodeJG.ChildNodes['MS'];

IF strtoint(NodeBS.Text) >0 THEN
begin
n :=n+1;
f_DataModule.ADOQuery2.Close;
f_DataModule.ADOQuery2.SQL.Clear;
f_DataModule.ADOQuery2.SQL.Add('update XWY_SJBDB set STS=''P'' where ID ='+trim(f_DataModule.ADOQuery1.FieldByName('ID').AsString)+'');
f_DataModule.ADOQuery2.ExecSQL;
end else
begin
m :=m+1;
f_DataModule.ADOQuery2.Close;
f_DataModule.ADOQuery2.SQL.Clear;
f_DataModule.ADOQuery2.SQL.Add('update XWY_SJBDB set STS=''F'' where ID ='+trim(f_DataModule.ADOQuery1.FieldByName('ID').AsString)+'');
f_DataModule.ADOQuery2.ExecSQL;
WriteLog(NodeMs.Text);
end;
END;
END;
f_DataModule.ADOQuery1.Next;
END;
END;
f_main.StatusBar1.Panels[2].Text :=inttostr(n);
f_main.StatusBar1.Panels[4].Text :=inttostr(m);
f_main.Timer2.Enabled :=true;
end;

我在DELPHI7+SQL2000上 运行的 你应该有用
 
多人接受答案了。
 
后退
顶部