资源xml文件

时间:2010-11-04 07:03:23

标签: c# xml asp.net-mvc-2 xml-serialization

我被赋予了为我们网站的静态内容制作资源xml文件的任务,以便我们可以针对特定id查找该xml文件中的内容并显示它。例如,如果我们在主页上写了“欢迎使用xyz.com”,它应该存储在xml文件中,如

<word>
  <add Key="welcome" value="Welcome to xyz.com" />
</word>

<word>
  <add key="key1" value="some other static content" />
</word>

所以我们将能够通过id =“welcome”显示文本... 请帮助。

的身份访问资源文件
string key = "Home";
             string resourceValue = string.Empty;
             string resourceFile = "Resource";//name of my resource file Resource.resx

             string filePath =System.AppDomain.CurrentDomain.BaseDirectory.ToString();

             ResourceManager resourceManager = ResourceManager.CreateFileBasedResourceManager(resourceFile, filePath, null);


             resourceValue = resourceManager.GetString(key);

并收到以下错误

Could not find any resources appropriate for the specified culture (or the neutral culture) on disk.
baseName: Resource  locationInfo: <null>  fileName: Resource.resources

1 个答案:

答案 0 :(得分:3)

尝试这样的XML格式:

<Page Id="Home">
    <Elements>
        <Element Id="welcome">
            <Value>Welcome to xyz.com</Value>
        </Element>

        <Element Id="key1">
            <Value>some other static content</Value>
        </Element>      
    </Elements>
</Page>

为什么呢?我的第一个想法是每个页面都需要它自己的id。所以我展示了一个名为“Home”的页面,其中包含两个Elements。此外,通过使用标签而不是属性,如果您有需要转义的字符,则可以使用CDATA部分[http://en.wikipedia.org/wiki/CDATA]。否则你将不得不转换&lt;,&gt;,&amp;那很难看。

<Element Id="key1">
    <Value><![CDATA[some other static content with < > in it!]]></Value>
</Element>

或者你想要包含div怎么样?有课吗?

<Element Id="key1">
    <Value><![CDATA[<div class="wrapper">some other static content with in it!</div>]]></Value>
</Element>

更好。

一般来说,我使用的标签多于属性。使用XPath更容易找到标签。