有没有一种标准的方法来存储XML文件中的仲裁设置以供.net使用?

时间:2010-02-17 00:56:12

标签: .net xml settings

理想情况下,我会使用与app.config相同基本结构的文件并提取设置,只要我可以获得任何类型的“pathed”XML存储设置我就可以了。

理想情况下给出类似:

<Root>
 <ApplicationSettings>
  <Setting key="SomeKey", value="SomeValue"/>
 </ApplicationSettings>
</Root>

我会打电话给:

Settings.Get("ApplicationSettings.SomeKey");

并将“SomeValue”作为一个lresult。

任何人都知道通常采用任何简单的标准来做到这一点吗?

4 个答案:

答案 0 :(得分:3)

我不确定我是否理解这个问题,因为您似乎熟悉App.Config文件......有一种方法与您发布的方法非常相似。为您的项目创建一个App.Config文件,并将以下代码放入其中:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="Key1" value="Value1" />
        <add key="Key2" value="Value2" />
    </appSettings>
</configuration>

然后您可以使用以下代码在代码中访问它:

string key1= ConfigurationSettings.AppSettings["Key1"];

答案 1 :(得分:2)

是。

很久以前,Craig Andera描述了the last configuration handler you'll ever need。它使用app.config来提供配置。您可以修改它以从其他地方获取配置。

修改
好像上面的链接已被移动了 http://sites.google.com/site/craigandera/craigs-stuff/clr-workings/the-last-configuration-section-handler-i-ll-ever-need

答案 2 :(得分:1)

标准是使用app.config / web.config。

我不知道你在哪里听到改变它不是最佳做法 - 我认为有人试图欺骗你。

答案 3 :(得分:0)

您可以构建一个拉取Value的函数。我做了这个

 Public Class Settings
     Public Function GetSetting(Byval SettingsKey As String) As String

        Dim xDoc As New XmlDocument
        xDoc.Load("app.config")
        Dim xNode As XmlNode
        xNode = xDoc.SelectSingleNode(("Settings/setting[@item='" & SettingsKey & "']"))
        If xNode Is Nothing Then
            Return String.Empty
        Else
            Return xNode.Attributes("value").Value
        End If
        xDoc = Nothing

    End Sub
End Class

然后像这样称呼它

Settings.GetSetting("MyArbitraryKey")