Как читать xml из ресурса через xmlreader? - PullRequest
2 голосов
/ 15 января 2012

Я хочу прочитать file.xml в моем проекте (я просто хочу, чтобы он был упакован в мой .exe) с помощью XmlReader.Он работает, когда я читаю файл из папки приложения, но я хочу прочитать его из ресурсов, чтобы я мог выдать свой исполняемый файл без дополнительных файлов.

Я пробовал разные подходы, но ни один из них не работал.Я использую C # с WPF 3.0.

Можете ли вы мне помочь?

Ответы [ 2 ]

4 голосов
/ 15 января 2012

Добавьте ваш XML-файл и отметьте его в Свойствах как «Встроенный ресурс».Загрузите его примерно так:

        Assembly a = Assembly.GetExecutingAssembly();
        using (Stream stream = a.GetManifestResourceStream("LoadResourceTest.mydata.xml"))
        using (XmlReader r = XmlReader.Create(stream))
        { 
            ...
        }

Моя тестовая программа - LoadResourceText.exe, поэтому в этом коде LoadResourceTest.

1 голос
/ 15 января 2012

Если вы загружаете что-либо как ресурс, вы должны использовать URI пакета WPF

Некоторые примеры:

Абсолютный путь

"pack://application:,,,/ResourceFile.xaml"
"pack://application:,,,/ReferencedAssembly;component/ResourceFile.xaml"

ОтносительныйПуть

"/ResourceFile.xaml"
"/ReferencedAssembly;component/ResourceFile.xaml" 
...