代码之家  ›  专栏  ›  技术社区  ›  Dragouf

如何将yamldocument序列化为yaml字符串

  •  0
  • Dragouf  · 技术社区  · 6 年前

    我使用yamldotnet,我有一个yamldocument。现在我想把它转换成内存中的yaml文本表示,但我不知道如何实现这一点。

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

    我应该在短信里写些什么:

    one: "other"
    

    我试过zith序列化程序类,但没有成功

    1 回复  |  直到 6 年前
        1
  •  0
  •   Dragouf    6 年前

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

    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:chainedeventmitter和对象图selarization。但是使用yamlstream.save()我不知道如何实现这个mecanism