可从XAML和后面的代码访问的XML文件

时间:2014-03-18 10:06:11

标签: c# .net xml wpf xaml

是否可以在项目中嵌入XML文件,可以使用XMLDataProvider从后面的代码和直接从XAML访问?

当我将XML文件设置为" Embedded Resource"时,我可以从代码访问它,但不能从XAML访问它。 当我将XML文件设置为" Resource"时,我可以从XAML访问它,但不能从代码访问它。

现在可以从代码中使用Pack Uri加载资源,但xml文件位于' service'图书馆,我不想引用PresentationFramework,WindowBase等来完成这项工作。

外部XML文件也不是一个选项,因为很多单元测试都会中断。解决方案是为这些测试添加一个属性,只有A LOT。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以轻松地将xml文件设置为Resource,然后在代码中按如下方式读取它们

        Uri uri = new Uri("/file.xml", UriKind.Relative);
        StreamResourceInfo info = Application.GetResourceStream(uri);
        if (info != null)
        {
            using (StreamReader reader = new StreamReader(info.Stream))
            {
                string xml = reader.ReadToEnd();
            }
        }

这里file.xml是Resource,所以替换为你拥有的任何名称