用XElement保存XML文件时,文件的对齐方式也会改变,如何避免?

问题描述 投票:0回答:2

我正在使用

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默认对齐所有行,但我需要保存原始文件格式。

除了“组”属性值之外,我无法更改文档的任何部分。

command.SetAttributeValue("Group") attributes.
c# xml whitespace xelement
2个回答
11
投票

您需要执行以下操作: 然后做: 这将通过使用

保留您的原始空白

1
投票

您要保留的信息在 XDocument 中开始丢失。

XDocument 不关心你的元素前面的行是否有制表符或空格,以及属性之间是否有多个空格等。如果你想依赖 Save() 方法,你必须放弃这个想法保留格式。

要保留格式,您需要添加自定义处理并找出准确进行更改的位置。或者,如果您的 XML 来自机器而不是人工编辑,您可以调整保存选项以匹配您的格式

© www.soinside.com 2019 - 2024. All rights reserved.