<?xml version="1.0" encoding='gb2312'?>
<ufinterface sender="" receiver="" roottag="" docid="" proc="" codeexchanged="" exportneedexch="" display="" family="" timestamp="">
<storeinout>
<header>
<receiveflag></receiveflag>
<vouchtype></vouchtype>
<businesstype></businesstype>
<source></source>
<businesscode></businesscode>
<warehousecode></warehousecode>
<date></date>
<code></code>
<receivecode></receivecode>
<departmentcode></departmentcode>
<personcode></personcode>
<purchasetypecode></purchasetypecode>
<saletypecode></saletypecode>
<customercode></customercode>
<vendorcode></vendorcode>
<ordercode></ordercode>
<quantity></quantity>
<arrivecode></arrivecode>
<billcode></billcode>
<consignmentcode></consignmentcode>
<arrivedate></arrivedate>
<checkcode></checkcode>
<checkdate></checkdate>
<checkperson></checkperson>
<templatenumber></templatenumber>
<serial></serial>
<handler></handler>
<memory></memory>
<maker></maker>
<define1></define1>
<define2></define2>
<define3></define3>
<define4></define4>
<define5></define5>
<define6></define6>
<define7></define7>
<define8></define8>
<define9></define9>
<define10></define10>
<define11></define11>
<define12></define12>
<define13></define13>
<define14></define14>
<define15></define15>
<define16></define16>
<auditdate></auditdate>
<taxrate></taxrate>
<exchname></exchname>
<exchrate></exchrate>
</header>
<body>
<entry>
<id></id>
<barcode></barcode>
<inventorycode></inventorycode>
<free1></free1>
<free2></free2>
<free3></free3>
<free4></free4>
<free5></free5>
<free6></free6>
<free7></free7>
<free8></free8>
<free9></free9>
<free10></free10>
<shouldquantity></shouldquantity>
<shouldnumber></shouldnumber>
<quantity></quantity>
<assitantunit></assitantunit>
<number></number>
<price></price>
<cost></cost>
<plancost></plancost>
<planprice></planprice>
<serial></serial>
<makedate></makedate>
<validdate></validdate>
<transitionid></transitionid>
<subbillcode></subbillcode>
<subpurchaseid></subpurchaseid>
<position></position>
<itemclasscode></itemclasscode>
<itemclassname></itemclassname>
<itemcode></itemcode>
<itemname></itemname>
<define22></define22>
<define23></define23>
<define24></define24>
<define25></define25>
<define26></define26>
<define27></define27>
<define28></define28>
<define29></define29>
<define30></define30>
<define31></define31>
<define32></define32>
<define33></define33>
<define34></define34>
<define35></define35>
<define36></define36>
<define37></define37>
<subconsignmentid></subconsignmentid>
<delegateconsignmentid></delegateconsignmentid>
<subproducingid></subproducingid>
<subcheckid></subcheckid>
<cRejectCode></cRejectCode>
<iRejectIds></iRejectIds>
<cCheckPersonCode></cCheckPersonCode>
<dCheckDate></dCheckDate>
<cCheckCode></cCheckCode>
<iMassDate></iMassDate>
<ioritaxcost></ioritaxcost>
<ioricost></ioricost>
<iorimoney></iorimoney>
<ioritaxprice></ioritaxprice>
<iorisum></iorisum>
<taxrate></taxrate>
<taxprice></taxprice>
<isum></isum>
<massunit></massunit>
</entry>
</body>
</storeinout>
</ufinterface>我想把这个文件读进来,然后往需要的元素节点填充数据,如往<date></date> 之间写入"2005-06-29",我该怎么用程序实现,我用程序写了一段,但总是死循环,不知道为什么?请大家帮忙,100分表示感谢!
xmldoc.LoadFromFile('d:\program\入库单.xml');
xmldoc.Active:=true;
root:=xmldoc.DocumentElement ;
Parent_Node := Root.ChildNodes.First;
parent_node:=parent_node.ChildNodes.First;
while (parent_node<>nil) do
begin
if parent_node.NodeName='header' then
begin
child_node:=parent_node.ChildNodes.First;
while (Child_Node <> nil) do
begin
if (Child_Node.NodeName = 'date') then
showmessage('日期') ;
child_node.NextSibling;
end;
end;
parent_node.NextSibling;
end;
<ufinterface sender="" receiver="" roottag="" docid="" proc="" codeexchanged="" exportneedexch="" display="" family="" timestamp="">
<storeinout>
<header>
<receiveflag></receiveflag>
<vouchtype></vouchtype>
<businesstype></businesstype>
<source></source>
<businesscode></businesscode>
<warehousecode></warehousecode>
<date></date>
<code></code>
<receivecode></receivecode>
<departmentcode></departmentcode>
<personcode></personcode>
<purchasetypecode></purchasetypecode>
<saletypecode></saletypecode>
<customercode></customercode>
<vendorcode></vendorcode>
<ordercode></ordercode>
<quantity></quantity>
<arrivecode></arrivecode>
<billcode></billcode>
<consignmentcode></consignmentcode>
<arrivedate></arrivedate>
<checkcode></checkcode>
<checkdate></checkdate>
<checkperson></checkperson>
<templatenumber></templatenumber>
<serial></serial>
<handler></handler>
<memory></memory>
<maker></maker>
<define1></define1>
<define2></define2>
<define3></define3>
<define4></define4>
<define5></define5>
<define6></define6>
<define7></define7>
<define8></define8>
<define9></define9>
<define10></define10>
<define11></define11>
<define12></define12>
<define13></define13>
<define14></define14>
<define15></define15>
<define16></define16>
<auditdate></auditdate>
<taxrate></taxrate>
<exchname></exchname>
<exchrate></exchrate>
</header>
<body>
<entry>
<id></id>
<barcode></barcode>
<inventorycode></inventorycode>
<free1></free1>
<free2></free2>
<free3></free3>
<free4></free4>
<free5></free5>
<free6></free6>
<free7></free7>
<free8></free8>
<free9></free9>
<free10></free10>
<shouldquantity></shouldquantity>
<shouldnumber></shouldnumber>
<quantity></quantity>
<assitantunit></assitantunit>
<number></number>
<price></price>
<cost></cost>
<plancost></plancost>
<planprice></planprice>
<serial></serial>
<makedate></makedate>
<validdate></validdate>
<transitionid></transitionid>
<subbillcode></subbillcode>
<subpurchaseid></subpurchaseid>
<position></position>
<itemclasscode></itemclasscode>
<itemclassname></itemclassname>
<itemcode></itemcode>
<itemname></itemname>
<define22></define22>
<define23></define23>
<define24></define24>
<define25></define25>
<define26></define26>
<define27></define27>
<define28></define28>
<define29></define29>
<define30></define30>
<define31></define31>
<define32></define32>
<define33></define33>
<define34></define34>
<define35></define35>
<define36></define36>
<define37></define37>
<subconsignmentid></subconsignmentid>
<delegateconsignmentid></delegateconsignmentid>
<subproducingid></subproducingid>
<subcheckid></subcheckid>
<cRejectCode></cRejectCode>
<iRejectIds></iRejectIds>
<cCheckPersonCode></cCheckPersonCode>
<dCheckDate></dCheckDate>
<cCheckCode></cCheckCode>
<iMassDate></iMassDate>
<ioritaxcost></ioritaxcost>
<ioricost></ioricost>
<iorimoney></iorimoney>
<ioritaxprice></ioritaxprice>
<iorisum></iorisum>
<taxrate></taxrate>
<taxprice></taxprice>
<isum></isum>
<massunit></massunit>
</entry>
</body>
</storeinout>
</ufinterface>我想把这个文件读进来,然后往需要的元素节点填充数据,如往<date></date> 之间写入"2005-06-29",我该怎么用程序实现,我用程序写了一段,但总是死循环,不知道为什么?请大家帮忙,100分表示感谢!
xmldoc.LoadFromFile('d:\program\入库单.xml');
xmldoc.Active:=true;
root:=xmldoc.DocumentElement ;
Parent_Node := Root.ChildNodes.First;
parent_node:=parent_node.ChildNodes.First;
while (parent_node<>nil) do
begin
if parent_node.NodeName='header' then
begin
child_node:=parent_node.ChildNodes.First;
while (Child_Node <> nil) do
begin
if (Child_Node.NodeName = 'date') then
showmessage('日期') ;
child_node.NextSibling;
end;
end;
parent_node.NextSibling;
end;
showmessage('日期') ;
child_node.NextSibling;
改为:
if (Child_Node.NodeName = 'date') then
showmessage('日期') ;
child_node:=child_node.NextSibling;
begin
if (Child_Node.NodeName = 'date') then
showmessage('日期') ;
child_node.NextSibling;
end;
建议楼主好好学习以下数据结构
什么叫做链表
这样不死循环才怪呢~