我在资源(xsd文件)中有很少的文件用于验证收到的xml消息。我使用的资源文件名为 AppResources.resx ,它包含一个名为 clientModels.xsd 的文件。当我尝试使用这样的文件:AppResources.clientModels时,我得到一个包含文件内容的字符串。我想换一条小溪。 我不想使用assembly.GetManifestResourceStream,因为我对它有不好的经历(使用这些流来存档SharpZipLib文件由于某种原因不起作用)。 还有其他办法吗?我听说过ResourceManager - 有什么能帮到我吗?
答案 0 :(得分:3)
你能把你收到的字符串输入System.IO.StringReader吗?这可能会做你想要的。您可能还想查看MemoryStream。
答案 1 :(得分:1)
这是链接中的代码
//Namespace reference
using System;
using System.Resources;
#region ReadResourceFile
/// <summary>
/// method for reading a value from a resource file
/// (.resx file)
/// </summary>
/// <param name="file">file to read from</param>
/// <param name="key">key to get the value for</param>
/// <returns>a string value</returns>
public string ReadResourceValue(string file, string key)
{
//value for our return value
string resourceValue = string.Empty;
try
{
// specify your resource file name
string resourceFile = file;
// get the path of your file
string filePath = System.AppDomain.CurrentDomain.BaseDirectory.ToString();
// create a resource manager for reading from
//the resx file
ResourceManager resourceManager = ResourceManager.CreateFileBasedResourceManager(resourceFile, filePath, null);
// retrieve the value of the specified key
resourceValue = resourceManager.GetString(key);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
resourceValue = string.Empty;
}
return resourceValue;
}
#endregion
我没有编写它来自的代码
http://www.dreamincode.net/code/snippet1683.htm
HTH
骨
答案 2 :(得分:1)
我有一个zip文件作为资源加载,直接从命名空间引用它给我字节,而不是字符串。在资源设计器中右键单击您的文件,并将文件类型从文本更改为二进制。然后你会得到一个bytearray,你可以加载到MemoryStream中。