是否可以在项目中嵌入XML文件,可以使用XMLDataProvider从后面的代码和直接从XAML访问?
当我将XML文件设置为" Embedded Resource"时,我可以从代码访问它,但不能从XAML访问它。 当我将XML文件设置为" Resource"时,我可以从XAML访问它,但不能从代码访问它。
现在可以从代码中使用Pack Uri加载资源,但xml文件位于' service'图书馆,我不想引用PresentationFramework,WindowBase等来完成这项工作。
外部XML文件也不是一个选项,因为很多单元测试都会中断。解决方案是为这些测试添加一个属性,只有A LOT。
有什么建议吗?
答案 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,所以替换为你拥有的任何名称