我正在编写一个接受 XML 文件的工具,通过添加元素对其进行编辑,然后保存它。棘手的一点是 XML 文件需要保持人类可读,在这种情况下,这并不意味着完美的格式。
输入 XElement 包含许多参数,例如:
<Parameter key="lorem"> <Vector> <Value>2</Value><Value>3</Value> </Vector> </Parameter>
<Parameter key="lorem"> <Vector> <Value>2</Value><Value>3</Value> </Vector> </Parameter>
<Parameter key="lorem"> <Vector> <Value>2</Value><Value>3</Value> </Vector> </Parameter>
<Parameter key="lorem"> <Vector> <Value>2</Value><Value>3</Value> </Vector> </Parameter>
<Parameter key="lorem">
<Parameter key="ipsum">
<Parameter key="dolor">
<Vector> <Value>3</Value> <Value>4</Value> </Vector>
</Parameter>
</Parameter>
</Parameter
我希望所有名称为“Vector”和“Value”的 XElement 都禁用缩进,但所有名称为“Parameter”的 XElement 都保持缩进。
由于不允许我的代码弄乱任何现有格式,我不得不在源文档上使用 LoadOptions.PreserveWhitespace。但是,这会强制我添加到文档中的所有 XElement 取消任何格式。有没有一种方法可以强制特定的 XElement 应用格式,即使整个文档都没有这样做?