如何通过xmlreader从资源中读取xml

本文关键字:读取 xml 资源 何通过 xmlreader | 更新日期: 2023-09-27 18:20:16

我想使用XmlReader读取我的项目中的文件.xml(我只想把它打包在我的.exe中)。当我从应用程序文件夹中读取文件时,它是有效的,但我想从资源中读取它,这样我就可以在没有其他文件的情况下发布我的可执行文件。

我尝试了不同的方法,但都没有奏效。我在WPF3.0中使用C#。

你能帮我吗?

如何通过xmlreader从资源中读取xml

添加xml文件并在Properties中将其标记为"Embedded Resource"。加载这样的东西:

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

我的测试程序是LoadResourceText.exe,因此是此代码中的LoadResourceTest。

如果您将任何东西作为资源加载,则必须使用WPF包URI的

一些例子:

绝对路径

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

相对路径

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