微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在C#中将web.config部分读作XML?

这是从以下复制的示例:

How to read custom config section in app.config in c#

I want to read following custom section from app.config:

<StartupFolders>    
   <Folders name="a">
      <add folderType="Inst" path="c:\foo" />
      <add folderType="Prof" path="C:\foo1" />      
   </Folders>
   <Folders name="b">
      <add folderType="Inst" path="c:\foo" />
      <add folderType="Prof" path="C:\foo1" />      
   </Folders> 
</StartupFolders>

这也是我的情况.但是,我不想创建用于处理值的自定义类,在web.config中定义此类,然后最终使用它.它对我的需求很重.

相反,我想做一些非常简单的事情 – 将一个部分检索为XML.然后我可以使用常规Linq.Xml来解析它.这样,我不需要为每个部分创建新类,我不需要声明它们.为了我的目的,一方面是足够的,另一方面是最小的(我做了一次,嵌套部分的键值映射器).即完善.

唯一缺少的是(我的问题) – 如何将web.config部分作为XML?
关于该部分的说明:

>它无法编码,因为必须手动编辑
>出于同样的原因,它无法序列化

因此,我不是在寻找一种解决方法,如何在appSettings中将整个部分作为值进行挤压,但我真的在寻找一种方法来将正确的部分作为XML.

我想从ConfigManager(!)中获取它,因为这样我就不必处理解析我应该阅读哪个web.config等等.比手动模仿web.config优先级更少犯错误的机会.

请原谅我提醒这一点,但请避免“回答”,你不应该这样做,每个部分使用自定义类等等.我已经考虑过了,并且选择了它.

解决方法

我想你要么必须手动完成并将Web配置加载到内存中:

XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("~/Web.config"));

或者,您需要创建要避免的自定义配置部分.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐