使用保存文件对话框保存 XML 文件

3

我试图使用打开文件对话框打开一个XML文件,并想从文件中删除一些重复的数据,现在我的问题是选择文件并保存该文件(在我的WinForms上有加载、删除、保存按钮)。请问我做错了什么?

public Form1()
{
     InitializeComponent();
}

private void button1_Click(object sender, EventArgs e) // open file dialog works fine
{
     OpenFileDialog openFileDialog1 = new OpenFileDialog();

     openFileDialog1.Filter = "XML files(.xml)|*.xml|all Files(*.*)|*.*";
     openFileDialog1.FilterIndex = 1;

     openFileDialog1.Multiselect = true;

     if (openFileDialog1.ShowDialog() == DialogResult.OK)
     {
        {

        }


     }
}

private void button2_Click(object sender, EventArgs e)//Deleteing  duplicate data
{
     //var doc = XDocument.Load(@"C:\\Users\IT-Administrator\Desktop\21.xml");/ do i need to use this line.
     doc.Root.Elements("Incident")
     .GroupBy(s => (string)s.Element("Comment"))
     .SelectMany(g => g.Skip(1))
     .Remove();


      //doc.Save(@"C:\Users\IT-Administrator\Desktop\2014-01-07_Middlesex.xml");

      //doc.Save(@"C:\Users\IT-Administrator\Desktop\22.xml");
}



private void button3_Click(object sender, EventArgs e)//saving..
{
   //doc.Save(@"C:\Users\IT-Administrator\Desktop\22.xml");
   saveFileDialog1.ShowDialog();

}
1个回答

1

要保存你的XML文件,你需要:

SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "XML-File | *.xml";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
   xDocument.Save(saveFileDialog.FileName);
}

感谢 TomTom 快速回复。但是我的问题在于删除时选择文件,我需要在删除重复记录时使用这个语句 var doc = XDocument.Load(@"C:\\Users\IT-Administrator\Desktop\21.xml") 吗? - preethi
当我尝试运行你的查询时,出现了以下错误:需要对象引用才能访问非静态字段、方法或属性“System.Xml.Linq.XDocument.Save(string)” - preethi
我一直收到那个错误信息,@preethi 你修复了吗? - Chris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接