Local lcXMLBase, lcXML,lcXSD, lnID TEXT TO lcXMLBase noshow <?xml version="1.0" ?> <AnimalExport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://Sanitrace.EAI/SanitraceRepository/SanitraceServices/AnimalExportSchema"> <<m.Animal>> </AnimalExport> ENDTEXT lcXML = Filetostr('aexport.xml') lcXSD = 'aexport.xsd' For lnID = 1 To Occurs('<Animal>',m.lcXML) animal = Strextract(m.lcXML,'<Animal>','</Animal>',m.lnID,4) GetAnimal(Textmerge( m.lcXMLBase ),m.lcXSD, m.lnID) Endfor Procedure GetAnimal(tcXML,tcXSD, tnID) Local xa As Xmladapter, ix xa = Createobject('xmladapter') xa.XMLSchemaLocation = m.tcXSD xa.LoadXML(m.tcXML,.F.) For ix =1 To xa.Tables.Count xa.Tables(m.ix).ToCursor(.F.,'tmp') If !Used(xa.Tables(m.ix).Alias) Select m.tnID As AnimalID,* From tmp Into Cursor (xa.Tables(m.ix).Alias) Readwrite Else Insert Into (xa.Tables(m.ix).Alias) Select m.tnID As AnimalID,* From tmp Endif Use In 'tmp' Endfor EndprocCetin