私は YAML の初心者で、次の yaml ファイルを解析したいと考えています。
basket :
size : 10
type : organic
fruit1:
mango : 5
type : farm-fresh
fruit2:
peach : 43
manufacturer : xyz
color : brown
design : netted
...
yaml ファイルは上記の形式に従い、ランダムな文字列の名前と値 (string、float、int など) を使用します。これらの値のそれぞれを に格納したいと思います。structそれはkeyとvaluesを文字配列として持っています。
struct Input {
char key[100]:
char value[100];
};
yaml ファイルからの値を格納する上記の構造体の配列が存在します。
したがって、yaml ファイルのデータは次のように保存する必要があります。
//Input[x].key //Input[x].value
basket.size 10
basket.fruit1.mango 5
basket.fruit2.manufacturer xyz
basket.color brown
basket.desgin netted
yaml ファイルを解析するアプリケーションを作成し、個々のノード/葉を文字列出力として取得しました。したがって、上記の yaml ファイルに基づいて、ノード値をbasket、size、5、などとして取得します。ここで43定義されているアプローチに従いました。これは、これまでに yaml を学習するために見つけた優れたリソースの 1 つです。
このアプローチは、以前のノードと葉の間の関係がないため、私にとってはあまり役に立ちません。
libyamlこの関係をツリーで維持し、クエリに応答してリターンを返す方法を提供します。libyamlプロジェクトの要件により、使用する必要があります。しかし、他の提案も大歓迎です。