3

我在用于验证收到的 xml 消息的资源(xsd 文件)中有几个文件。我使用的资源文件名为AppResources.resx,它包含一个名为clientModels.xsd的文件。当我尝试使用这样的文件时:AppResources.clientModels,我得到一个包含文件内容的字符串。我想改为流。我不希望使用 assembly.GetManifestResourceStream,因为我对它有过不好的体验(使用这些流使用 SharpZipLib 归档文件由于某种原因不起作用)。还有其他方法吗?我听说过 ResourceManager - 有什么可以帮助我的吗?

4

3 回答 3

3

也许你能把你得到的字符串输入 System.IO.StringReader 吗?这可能会做你想要的。您可能还想查看 MemoryStream。

于 2008-12-21T19:00:31.750 回答
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

高温高压

骨头

于 2008-12-30T21:50:28.920 回答
1

我有一个作为资源加载的 zip 文件,直接从命名空间引用它会给我字节,而不是字符串。在资源设计器中右键单击您的文件,然后将文件类型从文本更改为二进制。然后您将获得一个字节数组,您可以将其加载到 MemoryStream 中。

于 2009-02-25T23:30:54.460 回答