3
我製作瞭如下所示的yaml文件。yaml解析的方式? (yaml-cpp)
Define1: &Define1
0: zero
1: one
Define2:
<<: *Define1
2: two
並嘗試在Online YAML parser。結果如下所示。 (只要得到節點是如何構造的。)
{
"Define1": {
"0": "zero",
"1": "one"
},
"Define2": {
"0": "zero",
"1": "one",
"2": "two"
}
}
我當然希望「YAML-CPP」將解析方式相同,但它的有些不同。
我想是這樣的。 (幾乎肯定)
{
"Define1": {
"0": "zero",
"1": "one"
},
"Define2": {
"Define1": {
"0": "zero",
"1": "one"
},
"2": "two"
}
}
到底是什麼!那麼我是否必須在循環時檢查節點類型?
這是一個已知的問題?或'yaml-cpp'只是解析這種方式?
這段代碼是我做過的。
// already parsed
const YAML::Node& node = &(docYAML)["Define2"];
for (YAML::Iterator it=node->begin(); it!=node->end(); ++it)
{
const YAML::Node& nodeList = it.second();
std::string str;
nodeList[0] >> str;
}
謝謝你的答案,謝謝你的鏈接。我猜這似乎仍然不支持合併,因爲問題仍然存在。也許我必須尋找另一種解決方案。謝謝。 ;) – SeniorLee 2011-02-23 22:38:13