【问题标题】:How to read xml from resource via xmlreader?如何通过 xmlreader 从资源中读取 xml?
【发布时间】:2012-01-15 14:14:59
【问题描述】:

我想使用 XmlReader 在我的项目中读取一个 file.xml(我只想将它打包在我的 .exe 中)。 当我从应用程序文件夹中读取文件时它可以工作,但我想从资源中读取它,这样我就可以在没有其他文件的情况下提供我的可执行文件。

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

你能帮帮我吗?

【问题讨论】:

  • 您是否尝试将资源作为文本阅读?您确定要在 exe 文件中包含资源吗?
  • 谢谢!我尝试使用 StringReader 并在 xmlreader 之上阅读它!似乎它无法正确读取 EOF。

标签: c# wpf xml resources xmlreader


【解决方案1】:

添加您的 xml 文件并在属性中将其标记为“嵌入式资源”。用这样的东西加载它:

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

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

【讨论】:

    【解决方案2】:

    如果您将任何内容加载为必须使用的资源 WPF Pack URI's

    一些例子:

    绝对路径

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

    相对路径

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      • 2023-03-05
      • 1970-01-01
      • 2014-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多