1

目前我XElement用于解析XML和读取应用程序所需的每个节点。

现在我想XML通过使用阅读System.Configuration。这可能吗,我想什么。我的 config.xml 没有任何。configuration section它只是普通XML的。

<?xml version="1.0" encoding="utf-8" ?>
<ConfigSetting>
<!--The reports name which needs to be changed in to tethystrader db created on the fly.-->
<ReportsName value="Tethys_Price_report,Tethys_Liquidity_report,Tethys_Liquidity_report_option"/>

<MasterConnectionSetting connectionString="Data Source=NDI-LAP-262\SQL2008R2;Initial Catalog=master;UID=sa;pwd=Brick@123;" />
<!--Create db for check Liquidityreport/execta daily scenario-->
<Setup scenario="LIQ" outputFilePath="..\..\..\..\..\..\Branch_3.2.5">
    <ServerSetting>
        <ConnectionSetting component="RGTestToolDB" connectionString="server=NDI-LAP-262\SQL2008R2;integrated security=SSPI;uid=sa;pwd=Brick@123;database=~;Connection Timeout=1;" />
        <ConnectionSetting component="TethysTrader" connectionString="server=NDI-LAP-262\SQL2008R2;integrated security=SSPI;uid=sa;pwd=Brick@123;database=~;Connection Timeout=1;" />
        <ConnectionSetting component="TethysCommonDB" connectionString="server=NDI-LAP-262\SQL2008R2;integrated security=SSPI;uid=sa;pwd=Brick@123;database=~;Connection Timeout=1;" />      

    </ServerSetting>

    <DB component="TethysTrader">
        <cabfile path="Output\TethysTrader.cab" />
        <cabfile path="Output\TethysTrader-RG.cab" />
        <object  tablename="order_msgs" file="TethysTraderDB\order_msgs.csv" />
        <object  tablename="order_msgs_incoming" file="TethysTraderDB\order_msgs_incoming.csv" />
    </DB>

</Setup>

</ConfigSetting>

请建议。

4

1 回答 1

1

因为这不是一个有效的配置文件(它不包含任何<configurationSettings>元素,也不包含<configSections>描述未知部分的元素),所以您无法通过System.Configuration. 通过将所有这些数据移动到自定义配置部分可以更好地实现您想要的(有关如何执行此操作的更多信息,请参阅MSDN ——该页面讨论了 ASP.NET,但它也可以在 ASP.NET 之外工作) 或将此数据保存在您解析的单独文件中XElement(该解决方案没有任何问题)。

使用自定义配置部分的好处是您可以保留一个app.config,更易于维护和部署。您还可以从 .NET 配置文件的内置优势中受益,例如能够拥有每台机器和每用户的文件来提供默认值。缺点是您需要为它编写单独的代码(并且理解它是如何工作的并不完全是微不足道的)。

将数据保存在您自己解析的单独文件中更容易理解,但您无法获得对机器或用户特定文件的支持,并且如果您需要一些设置,则必须部署和维护两个文件app.config

于 2014-11-20T10:42:39.520 回答