私は単純な物理エンジンを作成しています。設定ファイルのいくつかの形式を含める必要があります。xml設定ファイルの使用 - 簡単なマッピング方法?
xmlを見ると、ツリー構造は私には大変意味があります。また、libxmlを見ると読みやすく、変更するのが簡単なようです。
私が抱えている問題は、どのように私がそれを意味するかということです。
私のアプリケーションはC言語で書かれていますが、xml設定ファイルを実装するための標準的な規則はありますか?
議論のために、私は環境例を設定します。
typedef struct {
char* name;
float x;
float y;
}info;
と
<info>
<name>something</name>
<x>0</x>
<y>0</y>
</info>
と別のクラスbar.cにのように見えるfoo.xmlと呼ばれる設定ファイル:私はこのようになりますデータ構造とのfoo.cというファイルを持っているとしましょうlibxml2を使用してxmlファイルをツリーに読み込みます。どのように人々は通常、そのようなデータ構造にデータを埋め込みますか?
(これは実装するための正しい方法であれば、私はについて考えたが確認していないしてきた何か)私は
例の解答XMLに代わるものを頼むありませんよ。
bar.cには機能があります。
tree* load_config(FILE* config_file);
char[][] get_fields(tree* current_tree);
あなたは、その関数を呼び出して、それがツリーを返し、その後、あなたは次のように条件文の束を持っている:あなただけの設定ファイルを必要とする場合
tree* current_tree = load_config(fopen("foo.xml"));
char[][] fields = get_fields(current_tree);
if(contains(fields, "name")) {
name = current_tree->name; //i'd have to navigate through the tree to find name or something
}
私は代替案を求めていませんでした... – Newbie
しかし、それは良いかもしれません。 XMLは非常に複雑ではありませんが、あなたが必要と思うよりも解析や処理に少し重いです。 –