在用XElement保存XML文件时,文件中的对齐方式也会发生变化,如何避免
本文关键字:文件 何避免 变化 方式 保存 XElement XML 在用 对齐 | 更新日期: 2023-09-27 18:10:36
我使用
XElement root = XElement.Load(filepath);
加载XML文件,然后找到我需要的东西。
IEnumerable<XElement> commands = from command in MyCommands
where (string) command.Attribute("Number") == Number
select command;
foreach (XElement command in commands)
{
command.SetAttributeValue("Group", GroupFound);
}
当我完成修改后,我用下面的代码保存文件。
root.Save(filepath);
保存文件时,XML文件中的所有行都会受到影响。Visual Studio默认对齐所有行,但我需要保存原始文件格式。
我不能修改文档的任何部分,除了Group属性值。
command.SetAttributeValue("Group") attributes.
您需要做的是:
XElement root = XElement.Load(filepath, LoadOptions.PreserveWhitespace);
那么做:
root.Save(filepath, SaveOptions.DisableFormatting);
这将通过使用LoadOptions和SaveOptions来保留您的原始空白。
您希望保存的信息在XDocument中开始丢失。
XDocument不关心你的元素是否有制表符或空格在他们前面的行,如果有多个空白属性等。如果你想依靠Save()方法,你必须放弃保留格式的想法。
要保留格式,您需要添加自定义处理并确定在哪里进行更改。或者,如果XML来自机器而不是人工编辑的