>>CLOSE DATABASES >>OPEN DATABASE (HOME(2)) + "Northwind\northwind.dbc" >> >>* Create XML >>SELECT 0 >>USE northwind!OrderDetails >>SET ORDER TO ORDERID && ORDERID >>SELECT 0 >>USE northwind!Orders >>SET RELATION TO OrderID INTO OrderDetails >>oXA = CREATEOBJECT("XmlAdapter") >>oXA.RespectNesting = .T. >>oXA.AddTableSchema("Orders") >>oXA.AddTableSchema("OrderDetails") >>oXA.ToXML("Orders.xml",,.T.) >>***Modify Command Orders.xml >> >>CLOSE DATABASES ALL >> >>* Load XML >>oXA = CREATEOBJECT("XmlAdapter") >>oXA.LoadXML("Orders.xml",.T.) >>FOR i=1 TO oXA.Tables.Count >> oXA.Tables(i).Tocursor() >>ENDFOR >>SET >> >>>>
>using System; >using System.Data; >using System.Data.OleDb; >using System.IO; > >class nestedXML >{ > static void Main() >{ > OleDbConnection con = new OleDbConnection("Provider=VFPOLEDB;Data Source="+ >@"C:\PROGRAM FILES\MICROSOFT VISUAL FOXPRO 9\SAMPLES\Northwind\northwind.dbc"); > >OleDbDataAdapter daOrders = new OleDbDataAdapter("SELECT * FROM Orders", con); >OleDbDataAdapter daOrderDet = new OleDbDataAdapter("SELECT * FROM OrderDetails", con); > >con.Open(); > >DataSet ds = new DataSet("VFPDataSet"); >daOrders.Fill(ds, "Orders"); >daOrderDet.Fill(ds, "OrderDetails"); > >con.Close(); > >DataRelation relO2Od = ds.Relations.Add( > "order2detail", > ds.Tables["orders"].Columns["orderID"], > ds.Tables["OrderDetails"].Columns["orderID"]); > >relO2Od.Nested = true; > >StreamWriter sw = new StreamWriter(@"c:\temp\VFPOrdersData.xml"); >ds.WriteXml(sw, XmlWriteMode.WriteSchema); >sw.Close(); >} >Cetin