0

私は 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それはkeyvaluesを文字配列として持っています。

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 ファイルに基づいて、ノード値をbasketsize5、などとして取得します。ここで43定義されているアプローチに従いました。これは、これまでに yaml を学習するために見つけた優れたリソースの 1 つです。

このアプローチは、以前のノードと葉の間の関係がないため、私にとってはあまり役に立ちません。

libyamlこの関係をツリーで維持し、クエリに応答してリターンを返す方法を提供します。libyamlプロジェクトの要件により、使用する必要があります。しかし、他の提案も大歓迎です。

4

1 に答える 1