--硬盘Xml文件存储路径:d:xmlFileTestxml.xml
xml文件内容:
<Root> <Tab> <ID>245575913</ID> <name>Tab</name> <Tabs> <Tab2> <ID>1</ID> <TabID>245575913</TabID> <Name2>ID</Name2> </Tab2> <Tab2> <ID>2</ID> <TabID>245575913</TabID> <Name2>name</Name2> </Tab2> </Tabs> </Tab> <Tab> <ID>277576027</ID> <name>Tab2</name> <Tabs> <Tab2> <ID>3</ID> <TabID>277576027</TabID> <Name2>ID</Name2> </Tab2> <Tab2> <ID>4</ID> <TabID>277576027</TabID> <Name2>Name2</Name2> </Tab2> <Tab2> <ID>5</ID> <TabID>277576027</TabID> <Name2>TabID</Name2> </Tab2> </Tabs> </Tab> </Root>
----打开Visual Studio—创建项目—选择【控制台应用程序】
#region Using Directives using System; using System.Data; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; #endregion namespace TestReadingxml { class Program { static void Main(string[] args) { DataSet thisDataSet = new DataSet(); thisDataSet.ReadXml(@"d:xmlFileTestxml.xml"); DataRelation custRel = thisDataSet.Relations.Add("Cust",thisDataSet.Tables[0].Columns["ID"],thisDataSet.Tables[2].Columns["TabID"]); foreach (DataRow custRow in thisDataSet.Tables["Tab"].Rows) { Console.WriteLine("ID:{0} Name:{1}",custRow["ID"],custRow["Name"]); foreach (DataRow detailRow in custRow.GetChildRows(custRel)) { Console.WriteLine(" ID:{0} TabID:{1} Name2:{2}; {3}",detailRow["ID"],detailRow["TabID"],detailRow[2],detailRow.GetParentRow(custRel)["ID"]); } } Console.WriteLine("Table created by ChildTable:{0}",thisDataSet.Tables[2].TableName); Console.WriteLine("Table created by ReadXml is called {0}",thisDataSet.Tables[0].TableName); Console.Write("Program finished,press Enter/Return to continue:"); Console.ReadKey(); } } }
--按F5运行结果: