gpt4 book ai didi

c# - 在 C# 中保持已编辑 XML 文件的缩进

转载 作者:行者123 更新时间:2023-11-30 13:59:56 25 4
gpt4 key购买 nike

作为安装过程的一部分,我更新了 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 编辑?

最佳答案

调用 xDocument.Load 时使用 LoadOptions.PreserveWhitespace,保存时使用 SaveOptions.DisableFormatting

关于c# - 在 C# 中保持已编辑 XML 文件的缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12347833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com