2010-08-23 3 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 установить некоторые цветовые коды в зависимости от файла, как получить файл и readvalues ​​после того, как я вставляю его – karthik

+0

, если я использую getmanifestresourcestream, я получу поток, и я должен поместить его как файл, и я должен использовать файл для загрузки. Это так? – karthik

+1

Пример обновлен, чтобы отобразить фактическую загрузку XmlDocument из потока ресурсов. – Cumbayah

Смежные вопросы