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