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