如何获取节点的名称?

时间:2014-03-27 15:24:04

标签: yaml-cpp

有没有办法获取节点的名称?例如:

Fruits:
   - apple
   - orange
   - pear

并在C ++中:

YAML::Node fruit = parser["Fruits"];
cout << fruit.name() << endl;  // should print "Fruits"

有类似YAML :: Node :: name()的东西吗?我没有在Node.h中看到任何适合该法案的内容。

如果没有,有什么建议可以通过简单的方法修改代码来记录这些信息吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您真正需要的是与地图中的值相关联的键。你是对的,没有从一个值到它的键的链接,但你可以存储一个,当你首先导航节点时。

如果你的所有键都是字符串键,那么无论何时将值传递给某个函数,只需传递字符串键:

// Instead of:
doSomething(node[key]);

// Call:
doSomething(key, node[key]);