2017-02-15 9 views
0

を使用してDataTableのレコードごとにXMLファイルを作成現在、私は、単一のXMLファイルでデータテーブルから来るすべてのレコードからXMLファイルを作成しています。Linq C#

DataTable dtTest = new DataTable(); 
dtTest.Columns.Add("Name"); 
dtTest.Columns.Add("NickName"); 
dtTest.Columns.Add("Code"); 
dtTest.Columns.Add("reference"); 

dtTest.Rows.Add("Yash", "POPs", "Vapi", "None1"); 
dtTest.Rows.Add("shilpa", "shilpa", "valsad", "None2"); 
dtTest.Rows.Add("Dinesh", "dinu", "pune", "None3"); 
dtTest.Rows.Add("rahul", "mady", "pardi", "None4"); 

XDocument xmlDoc = new XDocument(
    new XElement(
     "File", 
     from fields in dtTest.AsEnumerable() 
     select new XElement(
      "company_details", 
      new XElement(
       "company", 
       new XElement(
        "Name", 
        fields.Field<string>("Name")), 
       new XElement(
        "NickName", 
        fields.Field<string>("NickName"))), 
      new XElement(
       "Details", 
       new XElement(
        "reference", 
        fields.Field<string>("reference")))))); 

string filepath = @"C:\Users\admin\Desktop\test.xml"; 
xmlDoc.Save(filepath); 

答えて

1

あなたはForEach方法

DataTable dtTest = new DataTable(); 
dtTest.Columns.Add("Name"); 
dtTest.Columns.Add("NickName"); 
dtTest.Columns.Add("Code"); 
dtTest.Columns.Add("reference"); 

dtTest.Rows.Add("Yash", "POPs", "Vapi", "None1"); 
dtTest.Rows.Add("shilpa", "shilpa", "valsad", "None2"); 
dtTest.Rows.Add("Dinesh", "dinu", "pune", "None3"); 
dtTest.Rows.Add("rahul", "mady", "pardi", "None4"); 

dtTest.AsEnumerable().ToList().ForEach(x => CreateXml(x)); 

public void CreateXml(DataRow row) 
{ 
    XDocument xmlDoc = new XDocument(
     new XElement(
      "File", 
      new XElement(
       "company_details", 
       new XElement(
        "company", 
       new XElement(
        "Name", 
        row.Field<string>("Name")), 
       new XElement(
        "NickName", 
        row.Field<string>("NickName"))), 
       new XElement(
        "Details", 
       new XElement(
        "reference", 
        row.Field<string>("reference")))))); 
    xmlDoc.Save(Server.MapPath(row.Field<string>("Name")) + ".xml"); 
} 
+0

はありがとうを使用して、各rowについてxmlを作成することができます!できます –