我正在编写一个使用WPF和C#的程序,它有一个“app.config”文件,用于存储多个服务器的名称和位置。该程序动态地从该配置文件中读取,并在UI中显示它(以及其他内容)。
我正在尝试使用前端方式将新服务器添加到配置文件中,以便用户可以输入所需服务器的属性,然后我的程序将其添加到配置文件中。
我的配置文件看起来像这样:
<ServerConfig>
<Environment name="PROD">
<Server host="h1" share="s1" source="x1"/>
<Server host="h6" share="s1" source="x1"/>
<Server host="h7" share="s1" source="x1"/>
<Server host="h8" share="s1" source="x1"/>
<Server host="h155" share="s1" source="x1"/>
</Environment>
<Environment name="DEV">
<Server host="h2" share="s2" source="x2"/>
<Server host="h55" share="s1" source="x1"/>
<Server host="h115" share="s1" source="x1"/>
</Environment>
<Environment name="QA">
<Server host="h3" share="s3" source="x3"/>
<Server host="h46" share="s1" source="x1"/>
<Server host="h15" share="s1" source="x1"/>
<Server host="h2" share="s1" source="x1"/>
<Server host="h234" share="s1" source="x1"/>
<Server host="h6" share="s1" source="x1"/>
<Server host="h146" share="s1" source="x1"/>
</Environment>
</ServerConfig>
我希望用户能够输入主机,共享,源代码和环境,我需要找到一种方法将Xml代码放在适当的位置。
有没有办法搜索具有特定“名称”的标记(例如搜索“QA”环境)并在此之后添加该行? XmlWriter / XmlSerializer似乎只能从Xml文件的开头写入,而不是在写入之前梳理它。
我感谢任何帮助。
答案 0 :(得分:0)
我建议创建封装此信息(服务器)和功能(添加服务器)的自定义对象,然后将这些文件序列化为与web.config分开的XML文件。这样可以将您的自定义设置保存在一个位置,并避免插入标准配置文件,我认为该文件对于在运行时未更改的设置非常有用。我已经为一个项目做了这个,它运作良好。