با سلام
یک نمونه کد کامل داشتم چون خودم قبلا ازش استفاده می کردم ولی واسه بهتر شدن کار یک تغییراتی داخلش دادم و داده هارو مستقم وارد کردم و از DB نخوندم که مثال قشنگ مشخص باشه داره چیکار میکنه.
public class User
{
public string Name { get; set; }
public string Family { get; set; }
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
using (var folderBrowserDialog = new FolderBrowserDialog())
{
if (folderBrowserDialog.ShowDialog() != DialogResult.OK) return;
var users = new List<User>
{
new User {Name = "Mojtaba", Family = "Dinarvand"},
new User {Name = "reza", Family = "saiedi"},
new User {Name = "milad", Family = "kiani"},
new User {Name = "farhad", Family = "ehsani"},
};
var xmlDoc = new XElement("Users",
from c in users
select new XElement("User",
new XElement("Family", c.Family),
new XElement("Name", c.Name)));
xmlDoc.Save(folderBrowserDialog.SelectedPath + "/Users.xml");
}
}
}
ولی با این حال یک توضیح میدم : ببینید در کار با فایل xml ما با XElement سرو کار دایم تا به صورت درختی اطلاعات رو وارد و خارج بکنیم. توجه کنید همین حالت درختی بودن زمان Load شدن داده ها هم کار رو برای ما خیلی راحت میکنه. همونطور که میبینید XElement اول فرضا نام موجودیت رو برای ما مشخص کرده XElement دوم نام رکورد هارو و XElement های بعدی دادههای مارو یا به عبارتی ستون مارو مشخص کردن.
در خروجی فوق ما محتوای زیر رو خواهیم داشت :
<?xml version="1.0" encoding="utf-8" ?>
- <Users>
- <User>
<Family>Dinarvand</Family>
<Name>Mojtaba</Name>
</User>
- <User>
<Family>saiedi</Family>
<Name>reza</Name>
</User>
- <User>
<Family>kiani</Family>
<Name>milad</Name>
</User>
- <User>
<Family>ehsani</Family>
<Name>farhad</Name>
</User>
</Users>
موفق باشید