問題タブ [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++ - プロパティツリーとXML解析の問題を後押し
私はを使用してboost::property_tree
います。ドキュメントは非常に曖昧で、ほとんどの部分で全体的に役に立たない。ソース/例を見てもそれほど役に立ちませんでした。
私が疑問に思っているのは次のとおりです。
現在のレベルですべての要素を反復処理するにはどうすればよいですか?私がこれを行う場合:
私はこれParseEntry
を試してみます:
例外が発生します(存在しません)。私もこれを試しました:
同じ問題。
電話をかけるときの理解から、ParseEntry
そのノードのツリーへの参照を渡します。
StringTable
プロパティツリーを使用するエントリが複数ある場合、これに対処する方法はありますか?
c++ - ファイル名をキーとしてプロパティ ツリーをブーストする
boost::PropertyTreeのキーとしてファイル名を使用しようとしています
しかし '。' 「example.txt」などのファイル名に文字が含まれていると、プロパティ ツリー内に追加のレイヤーが追加されます。最も明白な解決策は、「。」を置き換えることです。ただし、エスケープ文字を使用するなど、これを行うためのより良い方法がある可能性があります。
次の例では、値 10 が「example」の子であるノード「txt」に入れられます。代わりに、ノード 'example.txt' に値 10 を格納したいと考えています。
単一ノードに完全なファイル名を使用するにはどうすればよいですか?
よろしくお願いします。
c++ - プロパティ ツリーを使用して Boost で JSON 配列を作成する
ブースト プロパティ ツリーを使用して JSON 配列を作成しようとしています。
ドキュメントには、「JSON 配列はノードにマップされます。各要素は、名前が空の子ノードです」と記載されています。
write_json(...)
したがって、空の名前でプロパティ ツリーを作成し、呼び出して配列を取り出したいと思います。ただし、ドキュメントには、名前のない子ノードを作成する方法が記載されていません。を試しptree.add_child("", value)
ましたが、これにより次の結果が得られます。
ドキュメントは、少なくとも私が理解できる方法では、この点に対処していないようです。誰でも助けることができますか?
json - Boostプロパティツリーwrite_jsonがすべてを文字列として保存するのはなぜですか?それを変更することは可能ですか?
Boostプロパティツリーwrite_jsonを使用してシリアル化しようとしています。すべてを文字列として保存します。データが間違っているわけではありませんが、毎回明示的にキャストする必要があり、別の場所で使用したいと思います。(Pythonまたは他のC ++ json(非ブースト)ライブラリのように)
ここにいくつかのサンプルコードとロケールに応じて得られるものがあります:
そしてmy_string_to_send_somewhere_else
sthです。このような:
とにかくそれらを値として保存する方法はありますか:
"key1" : true
または"key2" : 2.2
?
c++ - Boost property_tree を使用した XML ファイルの更新
次の XML ファイルがあります。
新しいノード Parameter2="2" を Data ノードに追加したいと考えています。このコードは機能しません。保存されたファイルにはまだパラメーターが 1 つしか含まれていません。
dataTree.put の後に次の 2 行を追加すると、正しい結果が得られます。
より複雑なツリー構造で問題が発生するため、このソリューションは好きではありません。子ノードを削除/追加せずにプロパティ ツリーを更新することはできますか?
c++ - 静的メンバー変数をサードパーティクラスに追加する
プロジェクトにBoost.Property_Treeを使用していて、それに少し機能を追加したいと思います。ファイルタイプを把握して適切なパーサーを使用する「fromFile」静的メンバー変数を追加したいと思います。私のプロジェクトでは、これが現在私が持っている方法です。
次に、ファイルのロードに使用しているConfigLoaderという別のクラスがあります。ただし、1つの関数をConfigNodeクラスに追加したいと思います。ConfigNodeをboost::property_treeであるかのように処理するコンパイラが必要ですが、静的関数を1つ追加したいと思います。これを行う方法はありますか?
c++ - Boost.PropertyTreeで属性はどのように解析されますか?
私がこのXML形式を持っているとしましょう:
Boost.PropertyTreeを使用して属性を読み取るにはどうすればよいですか?
c++ - C ++:boost :: property_treeを使用して配列を作成するにはどうすればよいですか?
boost ::propertytreeを使用して配列を作成する方法がわかりません。次のコード..。
...私に...
boost::property_treeに関するドキュメントはまばらです。boost :: property_treeを使用してJSON配列を作成するにはどうすればよいですか?
c++ - ブースト プロパティ ツリーを反復する方法は?
私は、プロパティ ツリーをブーストしようとしていることを知っており、それが C++ プログラミング用のブースト ライブラリの優れた機能であることを確認しました。
さて、私は1つの疑いがありますか?イテレータなどを使用してプロパティ ツリーを反復する方法は?
参考までに、ツリーをブラウズする例を次に示します。
しかし、それ以上のものはありませんか?stlのようなコンテナのようなもの?コードの品質について言えば、それはより良い解決策になるでしょう....
c++ - Property_Tree イテレータをブーストします。それらの処理方法は?
申し訳ありませんが、以前に同じトピックについて質問しましたが、私の問題はそこに記載されている別の側面に関するものです (ブーストを反復する方法... )。
次のコードを見てください。
さて、私が言及した質問で言われたようにproperty_tree
、Boostでイテレータを使用する可能性がありますが、それがどのタイプで、どのメソッドまたはプロパティを使用できるかわかりません。
ええと、ptree
(必要に応じて) 再度ブラウズするには、別の xml 階層または別の xml 階層を表す何かである必要があると思いますが、これに関するドキュメントは非常に悪いです。理由はわかりませんが、ブーストのドキュメントでは、ノードをブラウズするためのマクロについて何か良いものを見つけることができませんが、このアプローチは本当に避けたいものです。
ここで私の質問に行きます: でイテレーターを取得したら、ptree
ノード名、値、パラメーター (xml ファイル内のノード) にアクセスするにはどうすればよいですか? ありがとうございました