我正在使用
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.
您需要执行以下操作: 然后做: 这将通过使用
保留您的原始空白您要保留的信息在 XDocument 中开始丢失。
XDocument 不关心你的元素前面的行是否有制表符或空格,以及属性之间是否有多个空格等。如果你想依赖 Save() 方法,你必须放弃这个想法保留格式。
要保留格式,您需要添加自定义处理并找出准确进行更改的位置。或者,如果您的 XML 来自机器而不是人工编辑,您可以调整保存选项以匹配您的格式