如何在web.config中添加xml?
我有一些复杂的数据用于xml格式的应用程序配置。 我想在web.config中保留这个xml字符串。 是否可以在web.config中添加一个大的xml字符串并在代码中获取它?
如果您不想编写配置节处理程序,可以将XML放在映射到IgnoreSectionHandler
的自定义配置节中:
... ... complex XML ... ...
然后,您可以使用任何XML API读取它,例如XmlDocument
, XDocument
, XmlReader
类。 例如:
XmlDocument doc = new XmlDocument(); doc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile); XmlElement node = doc.SelectSingleNode("/configuration/myCustomElement") as XmlElement; ... etc ...
有几种方法可以实现您想要的(一个可以全局和静态访问应用程序代码的XML片段):
-
web.config
已经是一个XML文件。 您可以编写自定义配置部分(如此处所述),以便从自定义XML中获取数据。 -
您可以对XML数据进行编码(所有
<
to<
,>
to>
;&
to&
,"
to to"e;
) -
您可以将XML数据放在
部分中
-
不要使用
web.config
,而是使用@Yuck评论的Settings
文件
就易于开发和使用而言,最后一个选项是最好的选择。
web.config中的配置部分支持长字符串,但字符串必须是单行文本,以便它们可以适合属性:
该字符串也不能包含引号或换行符或其他XML标记字符。 数据基本上是XML,必须进行适当的编码。
例如,如果你有这样的XML:
10
它必须存储在这样的配置值中:
哪种方式违背了配置元素的目的。
最好将配置值存储在文件系统上的单独文件中,然后将其从那里读入字符串或XmlDocument等。