作为安装过程的一部分,我更新了 app.config 文件中的一些值,该文件的构建和缩进方式有助于用户读取这些值。它是按部分构建的,每个部分都是一个 XElement,每个值都是一个 XAttribute。
这是以下部分的示例:
<DataAccessSection
DataMappingFile = "Data\Mapping.xml"
SchemaKeyWord = "[generated]"
/>
<ServiceManagementSection
ServerName = "dummy"
ServerIP = "1.0.0.0"
Port = "1"
/>
我使用 XDocument 编辑文件,访问该部分的 XElement 并更改 XAttribute 的值,然后使用保存更改xDocument.Save(fullpath);
文件保存后,配置文件的结构是这样的:
<DataAccessSection DataMappingFile="Data\Mapping.xml" SchemaKeyWord="[generated]" />
<ServiceManagementSection ServerName="dummy" ServerIP="1.0.0.0" Port="1" />
这种结构对用户来说不是很清楚,我如何将文件保持在初始结构中并且只更改值而不更改缩进?
我可以将它作为一个简单的文本文件打开和编辑,但是当我拥有结构化 XML 文件的强大功能时,像文本文件一样访问它似乎很愚蠢。
编辑:感谢您的回答。
我在答案中尝试了解决方案,但它不断删除我的空格和缩进。我还尝试使用以下方法加载:
XDocument.Load(fullPath, LoadOptions.PreserveWhiteSpaces);
但这并不能解决我的问题。唯一保留所有空格的是将其作为文本文件加载,并使用字符串操作进行编辑,但我不想这样做。
有没有人有不同的方法可以解决这个问题?
也许使用不同的包进行 XML 编辑?