0

我使用 YamlDotnet,我有一个 YamlDocument。现在我想将它转换为他在内存中的 yaml 文本表示,但我不知道如何实现。

var yaml = new YamlDocument(new YamlMappingNode());
yaml.Add("one", "other")
var text = yaml.ToYamlText()

我应该得到类似的文字:

one: "other"

我尝试了 zith Serializer 类但没有成功

4

1 回答 1

0

好的,所以我在源代码的单元测试中找到了解决方案:

var yaml = new YamlDocument(new YamlMappingNode());
yaml.Add("one", "other");
var yamlStream = new YamlStream(yaml);
var buffer = new StringBuilder();
using (var writer = new StringWriter(buffer))
{
    yamlStream.Save(writer);
    yamlText = writer.ToString();
}

无论如何,我现在有另一个问题,我需要将所有值都用双引号括起来。在另一个应用程序中,我使用了 QuoteSurroundingEventEmitter : ChainedEventEmitter 和对象图序列化。但是使用 yamlStream.Save() 我看不到如何实现这种机制

于 2018-06-15T07:34:09.577 回答