3
try
{
    XElement contactsFromFile = XElement.Load("App_Data/EmployeeFinList.xml");
    var xEle = new XElement("Employees",
        from emp in ListFromBasicPay
        select new XElement("Employee",
            new XAttribute("EmpID", emp.employee_personal_id),
            new XElement("GrandTotal", emp.grandTotal),
            new XElement("Housing", emp.housing),
            new XElement("BasePay", emp.base_pay),
            new XElement("XchangeRate", emp.Exchange_rate)));

    xEle.Save("..\\changesetDB.xml");

    Debug.WriteLine("Converted to XML");
}
catch (Exception ex)
{
    Debug.WriteLine(ex.Message);
}

プロジェクトで作成したフォルダーに xml ファイルを保存したいと考えています。次に、自分のフォルダーに作成されたその xml ファイルを使用して、そこから読み書きします。それを行う方法はありますか?

4

2 に答える 2

5

アセンブリのフル パスを取得する System.Reflection.Assembly.GetExecutingAssembly().Location には、それを と組み合わせますSystem.IO.Path.GetDirectoryName()

それは次のようになります:

String path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

xEle.Save(path + @"\myfilename.xml");

たとえば、アプリケーションが C:\Program Files にインストールされている場合、アプリケーションが展開されているマシンのセキュリティ設定に応じて、そこに書き込むことができるようにするために何らかの昇格権限が必要になることに注意してください。たとえば、(アプリケーションデータ)などの他の場所に作業ディレクトリを常に配置することをお勧めします。

于 2013-02-25T17:43:16.100 に答える
-1

プロジェクトのフォルダーを取得するには、Red Serpent の回答を使用します。

  String path = System.IO.Path.GetDirectoryName
  (System.Reflection.Assembly.GetExecutingAssembly().Location);

次に使用します。

   string mySavePath = Path.Combine(path, myFolder);

   string myXMLPath = Path.Combine(SavePath,"changesetDB.xml");

次に、 myXMLPathを使用して、作成したばかりの XML ファイルの読み取りと書き込みを行うことができます。

于 2013-02-26T10:14:16.317 に答える