目前,我正在使用XElement解析XML,并读取应用程序所需的每个节点。
现在我想通过使用XML阅读System.Configuration.Is --这是可能的,我think.My config.xml没有任何configuration section.It,只是简单的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>请建议一下。
发布于 2014-11-20 10:42:39
因为这不是一个有效的配置文件(它不包含<configurationSettings>元素,也不包含描述未知部分的<configSections>元素),所以您无法通过System.Configuration读取它。您想要的更好的方法是将所有这些数据移动到一个自定义配置部分(有关如何做到这一点的更多信息,请参见MSDN ) --该页讨论ASP.NET,但它也在ASP.NET之外工作),或者将这些数据保存在一个单独的文件中,您可以使用XElement进行解析(该解决方案没有任何问题)。
使用自定义配置部分的好处是保留了一个app.config,它更易于维护和部署。您还可以从.NET配置文件的内置优势中获益,比如有一个每台机器和每个用户的文件来提供默认值。缺点是您需要为它编写单独的代码(并且理解它是如何工作的)。
将数据保存在一个您自己解析的单独文件中更容易理解,但您无法获得对机器或用户特定文件的支持,而且如果您需要在app.config中设置一些设置,则必须部署和维护两个文件。
https://stackoverflow.com/questions/27037457
复制相似问题