問題タブ [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.
c++ - Boost XML - プロパティ ツリー - xml 読み取りの詳細なエラー情報
プロパティ ツリー クラスでブースト ライブラリを使用しています。機能部分は xml ファイルの読み取りと書き込みで正常に動作しますが、構文やその他のエラーのエラー出力を改善しようとしています。また、エラーをより迅速に見つけるために、「13 行目のエラー」のような出力が計画されました。
特定のエラーと実際のxmlファイルとの関係を見つける方法がわからないため、この要件にかなり迷っています。また、不明な xml オブジェクトとプロパティの検出は、タイプミスを見つけるのに役立ちます。
どんなアイデア、サンプル、... も大歓迎です。
どうも
c++ - Boostを使用したJSONのシリアル化と逆シリアル化
私はC++の初心者です。std::Map
を使用してタイプのデータをシリアル化および逆シリアル化する最も簡単な方法は何ですかboost
。を使用していくつかの例を見つけましPropertyTree
たが、それらは私にはわかりません。
c++ - boost::property_tree に boost::any を追加することは可能ですか?
boost::any タイプをブースト プロパティ ツリーに格納しようとしています。実行可能な例を次に示します。
おそらく同じ理由で、boost::any はシリアライズ可能ではありません。しかし、クエリが許可されていることがわかりますanyVar.type()
が、それで何ができるかわかりません。ここで固定数の既知の型を明示的にコーディングせずに、プロパティツリーにデータを追加するために何らかの方法で使用することは可能auto
ですか? C++11/C++0x メソッドも大歓迎です。
これは私が得るエラーです:
c++ - boost::property_treeを使用したコードの入力ファイル形式
2つの主な目的で、コードの入力/ログファイルを作成することを検討しています。
1)必要に応じて将来同じ結果を再現できるように、コードが実行されたすべての主要なパラメーターをログに記録できるようにします。2)コード内のパラメーターをハードコーディングすることなく、コードを開始/再開できます。
コードと一緒にヘッダーファイルを簡単に運ぶことができるように、ヘッダーのみのアプローチに興味があります。これにより、boost.property_treeになりました。ドキュメントから、それは目的を果たしているようです。私の質問は、どのファイル形式が私のニーズに最も適しているかということです。私は何かが必要です:
1)人間が簡単に読み取り/編集できる2)ネストされたセクションをサポートできる3)コメントをサポートできる
デフォルトではxmlを使用していますが、boost.property_treeの解析機能を考慮すると、これが最適なオプションかどうかはわかりません。たとえば、次のようなものを解析できるようにしたいです。
Type
プロパティDomain
、、、、Levels
およびセクションを正しく個別に読み取ることができるようにしたいPath
(たとえばDomain
、長方形のエッジに対応する4つの個別のフローティングポイントがあります)。私のコードは次のようになります:
しかし、私は取得し続けconversion of data to type "d" failed
ます。どうすれば修正できますか?また、xmlは私が持っている最良のオプションですか、それとも別の形式への変更を検討する必要がありますか?
c++ - xml-stylesheet 処理命令を追加して、property_tree をブーストします
boost/property_tree を使用して XML ファイルを作成しています。残念ながら、xml-stylesheet 処理命令をファイルに追加する方法がわかりません。
望ましい出力:
boost/property_tree/ptreeでそれは可能ですか?
c++ - ブーストproperty_tree:キーごとに複数の値
Boostプロパティツリーは、構成ファイルの解析に使用する優れたライブラリのようです。ただし、キーごとに複数の値がある状況を処理する方法がわかりません。たとえば、次のようなボックスを指定したとします。
ここx
で、、、y
およびはそれぞれ、、、および軸z
上のボックスの境界であり、property_treeのINFO形式を使用して指定されます。スペースを使用する値に引用符を使用することについてのマニュアルに記載されていますが、それらの値を数値としてインポートできるかどうかはわかりません。文字列を数値に解析する必要があります。これは、そもそもproperty_treeを使用する目的を損なうようです。私は確かに各番号にキーを与えることができます:x
y
z
しかし、それは面倒なようで、私の設定ファイルを膨らませます。また、program_optionsでこの状況を処理できることにも注意しましたが、ネストされた構成ファイルの機能が失われました(ええ、ドット表記を使用して「ネスト」できることはわかっていますが、同じではありません)。
このような数値のリストとしてたとえばxをインポートする方法はありますか?
c++ - Boost プロパティ ツリーを使用した SVG (XML) の解析
Boost C++ の ptree を使用して、次の SVG (XML) マークアップを解析しようとしています...
SVG (XML)
C++ コード:
出力:
問題:
正常にコンパイルされますが、M 10 100 L 10 140 L 89 131 L 324 2 Z
エントリが取得されません。なぜ 2 番目のBOOST_FOREACH
ステップでは、それぞれ<path>
を実行しないのでしょうかcout
。
c++ - ブーストプロパティwrite_jsonの不正な動作
BoostプロパティツリーのJSONラッパーをコーディングしています。現在、焦点は、結果のJSONを文字列またはファイルに書き込むことにあります。
boost :: property_tree :: json_parser :: write_json(ss、* pt)を使用すると、結果のプロパティツリーが文字列で書き込まれます。
しかし、このメソッドは、真、偽、ヌル、または数値が何であるかを理解していません。すべてが文字列に変換されます。
Boostのドキュメントを読むと、これはライブラリの制限です。この動作を変更する方法はありますか?
c++ - プロパティ ツリーをブーストして最初の要素を取得する
パス方法論を使用してリストの既知のインデックスにアクセスする便利な方法があるかどうか疑問に思っていました。
私の夢のメソッド
現在知られている方法 (またはそれに類するもの)
リストのフォーマット(json)
c++ - jsonを解析した後、プロパティツリーをブーストしてレコードを取得できません
Boost jsonパーサーを介して解析し、それをブーストプロパティツリーに保存してすべてのキー値ペアを取得したサンプルjsonレコードがあります。次のコードでは、ツリーの最初の属性を取得できますが、2番目の属性値を取得するにはどうすればよいですか?取得しようとすると、「そのようなノードはありません」という例外が表示されます。
ツリーを繰り返すと、すべてのキーが表示されます。何が問題なのかわかりません。参照:http ://www.boost.org/doc/libs/1_52_0/doc/html/boost_propertytree/accessing.html
コード: