Hello All,
Trying to read a xml file with 37,000 lines to Import into data files
the data will go in 5 different files
OrderHeader
OrderDetail
OrderOptions
PackingListItems
PackingList
First tried to use hImportxml but this has issues because the way the scheme of the xml file is set up. So I need to loop thru and get each data set separate.
with this code
The issue is it only reads the first set of OrderHeaders. There are 576 Order Headers then 12,000 Order Deatils and then 12,000 PacklistItems
Trying to read a xml file with 37,000 lines to Import into data files
the data will go in 5 different files
OrderHeader
OrderDetail
OrderOptions
PackingListItems
PackingList
First tried to use hImportxml but this has issues because the way the scheme of the xml file is set up. So I need to loop thru and get each data set separate.
-?xml version="1.0" encoding="ISO-8859-1"?- (OrderAndShipments) Root Node (OrderHeaders) First Order Header (SONumber)00333861-00(/SONumber) (PONumber)N43510WL1(/PONumber) (OrderDate)060118(/OrderDate) (/OrderHeaders) (OrderHeaders) (SONumber)00333871-00(/SONumber) (PONumber)N43506WL1(/PONumber) (OrderDate)060118(/OrderDate) (/OrderHeaders) (OrderDetails) First Order Detail (SONumber)00341237-00(/SONumber) (OrderLineNumber)16.00(/OrderLineNumber) (Quantity)1.000(/Quantity) (ProductCode)B27(/ProductCode) (ProductDesciption)BASE 27 DRW(/ProductDesciption) (CabinetType)CB(/CabinetType) (Tag)ICP-815KIT-RS(/Tag) (OptionLines)3(/OptionLines) (/OrderDetails) (OrderDetails) (SONumber)00341237-00(/SONumber) (OrderLineNumber)17.00(/OrderLineNumber) (Quantity)1.000(/Quantity) (ProductCode)B30(/ProductCode) (ProductDesciption)BASE 30 DRW(/ProductDesciption) (CabinetType)CB(/CabinetType) (Tag)ICP-815KIT-RS(/Tag) (OptionLines)3(/OptionLines) (/OrderDetails) (OrderDetailOptions) (OrderDetailOptions) (SONumber)00341553-00(/SONumber) (OrderLineNumber)2.00(/OrderLineNumber) (OptionText)MITER RIGHT: MITRER(/OptionText) (/OrderDetailOptions) (OrderDetailOptions) (SONumber)00341553-00(/SONumber) (OrderLineNumber)2.00(/OrderLineNumber) (OptionText)MITER RIGHT: MITRER(/OptionText) (/OrderDetailOptions) (PackingListItems) (LoadNumber)4117127(/LoadNumber) (BOLNumber)101091240100(/BOLNumber) (TopLevelPackageID)(/TopLevelPackageID) (PackageID)003384550290000001(/PackageID) (PackageItemCount)1(/PackageItemCount) (PackageType)BOX(/PackageType) (PackageItemType)CABINETS(/PackageItemType) (SONumber)00338455-0(/SONumber) (OrderLineNumber)29.00(/OrderLineNumber) (ShippedQuantity)1(/ShippedQuantity) (LoadedDate)180626202433(/LoadedDate) (/PackingListItems) (PackingListItems) (LoadNumber)4117127(/LoadNumber) (BOLNumber)101091240100(/BOLNumber) (TopLevelPackageID)(/TopLevelPackageID) (PackageID)003384550310000001(/PackageID) (PackageItemCount)1(/PackageItemCount) (PackageType)BOX(/PackageType) (PackageItemType)CABINETS(/PackageItemType) (SONumber)00338455-00(/SONumber) (OrderLineNumber)31.00(/OrderLineNumber) (ShippedQuantity)1(/ShippedQuantity) (LoadedDate)180626223336(/LoadedDate) (/PackingListItems) (PackingListItems) (LoadNumber)4117127(/LoadNumber) (BOLNumber)101091240100(/BOLNumber) (TopLevelPackageID)(/TopLevelPackageID) (PackageID)003384550310000002(/PackageID) (PackageItemCount)1(/PackageItemCount) (PackageType)BOX(/PackageType) (PackageItemType)CABINETS(/PackageItemType) (SONumber)00338455-00(/SONumber) (OrderLineNumber)31.00(/OrderLineNumber) (ShippedQuantity)1(/ShippedQuantity) (LoadedDate)180626221706(/LoadedDate) (/PackingListItems)
with this code
IF sFile <> "" THEN XMLDoc is a xmlDocument // Open the XML file XMLDoc = XMLOpen(sFile) nCounter is int=1 MainNode is a xmlNode EntryNode is a xmlNode FOR EACH MainNode OF XMLDoc.OrderAndShipments // Browse the children of the STARTERS node IF XMLDoc.OrderAndShipments.OrderHeaders..Name = "OrderHeaders" FOR EACH EntryNode OF XMLDoc.OrderAndShipments.OrderHeaders Trace(XMLDoc.OrderAndShipments.OrderHeaders..Name + TAB + EntryNode..Name + TAB + EntryNode..Text) END END nCounter+=1 Trace(nCounter) END END
The issue is it only reads the first set of OrderHeaders. There are 576 Order Headers then 12,000 Order Deatils and then 12,000 PacklistItems