問題タブ [boost-propertytree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3391 参照

c++ - INFO(ブーストプロパティツリー)からのフォーマット参照


アプリケーションの複雑なデータ構成を作成する方法を探しています。さまざまな理由から、そのジョブのxmlやjsonはあまり好きではありません。

しかし、私はその仕事にぴったりのフォーマットを見つけました。それはブーストプロパティツリーライブラリに実装されており、「INFO」フォーマットとして参照されています( http://www.boost.org/doc/libs/1_46_1/doc/html/ boost_propertytree / parsers.html#boost_propertytree.parsers.info_parser )。


問題は、テキスト情報に同じ名前の「info」ファイル形式があるため、適切な形式の説明/参照が見つからないことです。
誰かが適切なドキュメントまたは少なくともより多くの例へのリンクを共有できますか?

0 投票する
1 に答える
4763 参照

json - boost::property_tree::json_parser::read_json & Twitter?

TwitterフィードをboostのJSONパーサーにパイプできるかどうかを確認するために、テストとして非常に簡単に試しました。サイコロはありません。私の JSON パーサーは次の行を処理できません。

問題のある行を削除すると、設定されたプロパティ ツリーが取得されます。明らかにTwitterには十分ではありません。プロパティ ツリーが間違っていると宣言した場合のコードを次に示します。ヘルプ?

0 投票する
3 に答える
24316 参照

c++ - boost ::property_treeXMLきれいな印刷

私はboost::property_treeを使用して、アプリケーションでXML構成ファイルを読み書きしています。しかし、私がファイルを書くとき、出力はファイルにたくさんの空の行があるのでちょっと醜いように見えます。問題は、それも人間によって編集されることになっているので、より良い出力を得たいということです。

例として、私は小さなテストプログラムを書きました:

file.xmlに含まれるもの:

プログラムを実行した後、file2.xmlには次のものが含まれます。

手動で出力を調べて空の行を削除する以外に、より良い出力を得る方法はありますか?

0 投票する
1 に答える
2471 参照

c++ - Boost ptreeがxmlとjsonを同じように解析するようにするにはどうすればよいですか?

それでは、少し変更されたサンプルコードを見てみましょう。

私はそのようなxmlでそれを試してみます:

印刷します:

最初のデータ:モジュール
2番目のデータ:ファイル
最初のデータ:モジュール
2番目のデータ:管理者
最初のデータ:モジュール
2番目のデータ:HR
最初のデータ:notModule
2番目のデータ:MyNotModule

しかし、私がそのようなjsonファイル(このWebツールを介してこのxmlから作成された)を試してみると:

印刷します:

最初のデータ:モジュール
2番目のデータ:
最初のデータ:notModule
2番目のデータ:MyNotModule

Boost property_treeがXMLを解析するのと同じ結果をJSONで生成するようにするにはどうすればよいですか?value_typeがある種の1次元配列であるかどうかを確認し、それを反復処理するにはどうすればよいですか?

0 投票する
1 に答える
1279 参照

c++ - 基本的な Boost PropertyTree サンプルをコンパイルしようとしているときに問題が発生しました - コンパイル エラー。何をすべきか?

したがって、これは公式の Boost PropertyTree の例です。Visual Studio 2008 でコンパイルし、VS2010 で同じようにコンパイルしようとしました。Error C2228: left of '.put_value' must have class/struct/union c:\program files (x86)\boost-1.46.1\include\boost\property_tree\detail\ptree_implementation.hpp 795 1

私が使用するコードは次のとおりです。

ブースト配布を変更していませんが、コンパイルされません。なんで?

0 投票する
2 に答える
1451 参照

c++ - ブーストPropertyTree:json配列を読み込む方法は?

そのようなjsonを持っている:

module配列を解析する方法はmultimap<string,string>? moduleが配列で、notModule がそうでないかどうかを調べることは可能ですか?

0 投票する
3 に答える
51980 参照

c++ - Boost 1.46.1、プロパティツリー:サブptreeを受け取るptreeを反復処理する方法は?

まず第一に、私はそれがどのように行われるべきかを理解したと思いますが、私のコードは私が試した方法でコンパイルされません。私は、空のptreeトリックのこの公式の例に基づいて仮定しました。そこに次の行があります:

これは、ptreeからsubptreeを取得することが可能である(または可能である必要がある)ことを示しています。

BOOST_FOREACHしたがって、次のような方法でptreeを反復処理できると想定しました。

しかし、次のエラーが発生します。

エラー1エラーC2440:'初期化中':'std :: pair <_Ty1、_Ty2>'から'const boost :: property_tree :: ptree&'に変換できません

または私がしようとすると

私は得る:

エラー1エラーC2039:'empty_ptree':は'boost::property_tree'のメンバーではありません

では、どうすればよいでしょうか。BoostPtreeを反復処理して、サブPtreeを取得する方法を教えてください。

更新: 私もそのようなコードを試しました

これはコンパイルされ、例外をスローしませんが、何も出力しませんSub data。このサイクルを維持するだけです。

アップデート2:

うーん...おそらく私のxmlで何かがうまくいかなかった-今私はそのコードで正しい結果を得る。

0 投票する
1 に答える
1884 参照

c++ - プロパティツリーをブースト

ここのブーストドキュメントに基づいています:

http://www.boost.org/doc/libs/1_41_0/doc/html/boost_propertytree/container.html

「ノードには同じキー値を持つ複数の子が存在する場合があります。ただし、これらの子は必ずしも連続しているわけではありません。find によって返される反復子は、これらのいずれかを参照する可能性があり、同じ名前の他の子の相対位置について保証はありません。子供。"

サンプル XML:

サンプル ブースト コード:

それを知った上で、どのようにしてすべての本を手に入れ、すべての本を確実に手に入れることができるでしょうか?

0 投票する
3 に答える
5972 参照

c++ - boost/property_tree/xml_parser.hpp: そのようなファイルまたはディレクトリはありません

boost_1_41_0 をインストールし、xml 解析に関するいくつかのチュートリアルに従ってみます。

しかし問題は、ブーストが必要なヘッダーを見つけられないことです:

<> の代わりに "" を使用しても役に立ちません。オプション cxxflags=-I/pass/to/this/header も渡そうとしましたが、これも機能しません。ヘッダーへのフル パスを使用する場合のみ - 動作しますが、別のヘッダー ファイルに依存しているため、見つけることができません。

それでは、ブースト インストールを独自のインクルード ディレクトリに見せるにはどうすればよいでしょうか。ありがとう。

0 投票する
5 に答える
50616 参照

c++ - ブーストPropertyTree:子が存在するかどうかを確認します

XMLパーサーを書き込もうとして、XMLファイルをに解析しようとするboost::property_treeと、この問題が発生しました。特定のプロパティの子が存在するかどうかを(すばやく)確認するにはどうすればよいですか?

明らかに、私はを使用してすべての子供を反復することができましたBOOST_FOREACH-しかし、これに対するより良い解決策はありませんか?