2010-08-23 71 views
5

我想將xml文件嵌入到項目中的資源文件中,只要我需要該文件,我必須從資源中獲取它並使用它,如何執行此操作並且我想要根據我的要求修改xml文件的內容如何執行此操作如何將XML文件嵌入到資源文件

回答

11

如果您將XML文件添加到Visual Studio項目,並在其屬性窗口中選擇構建動作:嵌入式資源,該文件將嵌入到該項目的構建輸出工件中。

從代碼中訪問它,使用這樣的:

string resourceName = "Namespace.Prefix.FileName.xml"; 
Assembly someAssembly = LoadYourAssemblyContainingTheResource(); 
XmlDocument xml = new XmlDocument(); 
using (Stream resourceStream = someAssembly.GetManifestResourceStream(resourceName)) 
{ 
    xml.Load(resourceStream); 
} 
// The embedded XML resource is now available in: xml 

如果你正在裝載資源是嵌入在自己的彙編,你可以這樣做Assembly.GetExecutingAssembly()達到什麼我列爲LoadYourAssemblyContainingTheResource()以上,或者可能typeof(SomeTypeInYourResourceAssembly).Assembly

「你想修改內容」的含義並不清楚 - 你不能在運行時修改程序集內部的資源,但是無論何時更改XML文件並重新編譯,新版本都將被嵌入。

+0

我需要t0根據文件設置一些顏色代碼,如何獲得文件和讀取值後,我嵌入它 – karthik 2010-08-23 13:24:07

+0

如果我使用getmanifestresourcestream我會得到一個流,我應該把它作爲一個文件,我必須使用文件加載。它的方式? – karthik 2010-08-23 13:36:08

+1

已更新示例以顯示資源流中XmlDocument的實際加載。 – Cumbayah 2010-08-23 13:45:15