>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