2014-07-25 125 views
0

在一個簡單的WPF項目中,我有一個XML文件 - 「Students.xml」來查看和添加記錄。 XML文件位於項目的Resources文件夾中,屬性爲構建操作:資源始終複製。我可以閱讀XML使用:資源文件夾中的XML文件路徑到C#中的FileStream WPF項目

XDocument doc = XDocument.Parse(Properties.Resources.Students); 

但是,對於寫入它,FileStream要求其在字符串中的路徑。

 FileStream fs = new FileStream(Properties.Resources.Students, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); 
// exception in first argument, string path should be specified. 

那麼,我應該如何從FileStream中的資源文件夾訪問xml文件。請幫忙。

回答

0

如果您使用的是Resource File,則其內容爲嵌入式進入程序集,因此沒有文件路徑。相反,您應該將名爲Resources的文件夾添加到您的項目中,並在其中添加XML文件。如果你這樣做,那麼你可以訪問它使用此屬性:

public static string ResourceFolderPath 
{ 
    get 
    { 
     string path, applicationDirectory = Path.GetDirectoryName(
      Assembly.GetEntryAssembly().Location); 
     if (applicationDirectory.Contains(Environment.GetFolderPath(
      Environment.SpecialFolder.UserProfile))) path = Path.Combine(
      applicationDirectory, "Resources"); 
     else path = Path.Combine(Directory.GetParent(applicationDirectory).Parent. 
      FullName, "Resources"); 
     return path; 
    } 
} 
+3

照顧留下評論選民?這是否是毫無意義的投票。 – Sheridan

2

問題解決!我只是在項目中添加了該文件,並且還將該文件複製到項目的調試文件夾中。現在我可以簡單地訪問「filename.xml」。

XDocument doc = XDocument.Load("Students.xml"); 
    /...../ 
FileStream fs = new FileStream("Students.xml", FileMode.Open, FileAccess.Read, FileShare.ReadWrite); 

現在,它的工作。

相關問題