首页 > 解决方案 > 使用 yaml-cpp 解析简单的 yaml 映射文件

问题描述

我正在尽力使用 yaml-cpp 读取 yaml 文件,它的格式很简单:

test_key:  1
test_key2: 2
test_key3: 3
test_key4: ['value','another value']
test_key5: true
test_key6: [1,2,3,4,5]
test_key7: [0.0,0.1,0.2]

问题是,当我尝试以这种方式解析它时,它会给我项目的数量,但它总是会告诉我它们是未定义的。对于另一个测试,我在它前面添加了一个序列,然后它像我预期的那样工作,它返回我的类型(第一个序列,然后是一个映射),但我希望还有另一种可能性,我可能只是忽略了。

我正在尝试使用像这样的示例代码来解析代码(如果有一个映射并且在它后面有一个序列,它会递归地执行它..):

YAML::Node file = YAML::LoadFile("sample.yaml");

for(int idx=0;idx<file.size();idx++)
{
   auto node = file[idx];
   switch(node->Type())
   {
    ...

   }
}

作为旁注,我也使用 yaml cpp 编写了 yaml 文件。我希望有人能告诉我我错过了什么

标签: c++yaml-cpp

解决方案


推荐阅读