element name="row"to
element name="row1", the second accordance to
element name="row2", etc. Save the schema as Good_Receipt_PO_Modified.xsd.
>CLEAR >CLOSE TABLES ALL > >LOCAL oXA as XMLAdapter, oXT as XMLTable > >oXA=CREATEOBJECT("XMLAdapter") >oXA.RespectNesting= .T. >oXA.XMLSchemaLocation="Good_Receipt_PO_Modified.xsd" >?oXA.LoadXML("Good_Receipt_PO.xml",.T.) >?oXA.Tables.Count >oXA.XMLNameIsXPath= .T. >oXA.XMLName = STRCONV("parent::node()",5) > > >FixXMLName(oXA,"row1") >FixXMLName(oXA,"row2") >FixXMLName(oXA,"row3") >FixXMLName(oXA,"row4") >FixXMLName(oXA,"row5") >FixXMLName(oXA,"row6") >FixXMLName(oXA,"row7") > >FOR each oXT IN oXA.Tables > IF oXT.Fields.Count >0 > oXT.ToCursor() > SELECT (oXT.Alias ) > IF RECCOUNT()=0 > USE > ENDIF > ENDIF >NEXT > > > >FUNCTION FixXMLName(oXA as XMLAdapter,cName) > cName=STRCONV(cName,5) > > LOCAL oXT as XMLTable > oXT=oXA.Tables(cName) > oXT1 = oXT.NestedInto > oXA.Tables.Remove(cName) > > cName=STRCONV("row",5) > > DO WHILE NOT ISNULL(oXT1) > cName = oXT1.XMLName + STRCONV("/",5)+cName > oXT1 = oXT1.NestedInto > ENDDO > > oXT.XMLNameIsXPath = .T. > oXT.XMLName = cName > oXA.Tables.Add(oXT,oXT.XMLName) >return >>