【发布时间】:2021-10-10 09:01:29
【问题描述】:
我正在尝试加载现有的 yaml 文件并更新它的一些属性。 但是 - 我正在尝试 not 覆盖其他属性。
我的 yaml:
A:
a1: value1
a2: value2
所需的yaml:
A:
a1: value1
a2: modified
我目前有以下代码,但我只能覆盖A的值:
string filePath = @"some\path\to\my.yaml";
TextReader reader = File.OpenText(filePath);
var yaml = new YamlStream();
yaml.Load(reader);
var mapping = (YamlMappingNode)yaml.Documents[0].RootNode;
mapping.Children["A"] = new YamlMappingNode { {"a2", "modified"} }; //this overrides A and essentially deletes A.a1
我也试过这条线,但它失败了,因为 a2 已经存在:
(mapping.Children["A"] as YamlMappingNode).Add( "a2", "modified");
【问题讨论】:
标签: c# yaml yamldotnet