問題タブ [pugixml]

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 投票する
1 に答える
1563 参照

c++ - Pugixml で XPath クエリの行/列を取得する

pugixml で xpath クエリの結果の行/列を取得します。

オフセットは取得できますが、行/列は取得できません:

ファイルを再解析すると、オフセット => (行、列) に変換できますが、効率的ではありません。

これを達成するための効率的な方法はありますか?

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

c++ - 値を追加するためのpugixml「extend」要素

要素の値を設定しようとしていますが、通常、要素が次のようになっている場合は、次のよう<element></element>にします。

しかし、私がこのような要素を持っているとき:

これは機能しません..「set_value」行の前にこれを使用してみました

しかし、これはその要素内に新しい要素を作成します、そして私はこれをしたくありません、

おそらく私の最初のアプローチは間違っていますか?要素の値を適切に設定するにはどうすればよいですか?

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

c++ - PugiXMLを使用したXML解析、無限ループ

これは私がこれまでに作成した最初のC++プログラムであり、ドキュメント内のxmlノードのリストを表示するはずです。TinyXMLを使用してまったく同じことを機能させましたが、Pugiの方がはるかに優れているので、引き続き使用したいと思います。

プログラムコード:

サンプルXML:

コードは、2つの最初のコードに出くわして<three>無限ループに入るまで機能します。これにより、条件に問題があると思われますがfor(xml_node child = parent.first_child(); child != 0; child = parent.next_sibling())、すべてが例と同じですか?私はおそらくかなり明白な何かを逃しました...これらはc++での私の最初の赤ちゃんのステップです:)

私はC++のNULLがちょうど0であると理解するように与えられていますか?

また(複数の質問をしてすみません)、これは本当にpugiで何かをする正しい方法ですか?C ++プログラムの場合、ポインターをあまり使用していないようです。よくわかりません。

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

c++ - pugi::char_t* を文字列に変換する方法

こんにちは、pugixml を使用して xml ドキュメントを処理しています。この構造を使用してノードを反復処理します

問題は、it->name() が pugi::char_t* を返し、それを std::string に変換する必要があることです。出来ますか ??Pugixml Web サイトで情報が見つかりません

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

c++ - pugixmlに似た構文のMITJSONパーサーはありますか?

したがって、JSONドキュメントの解析を行う必要があります。すでにpugixmlを使用してxmlドキュメントを解析しましたが、XMLドキュメントと同じ\類似のルールを使用してJSONドキュメントを解析する必要があります。

pugixmlに似たAPIを備えたopensourse(MITまたは同様のもの)JSONパーサーはありますか?

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

visual-studio-2010 - Visual C++ .NET 2010 での pugixml の使用

最終プロジェクトの GUI を構築しています。このプロジェクトは、一部のデータを読み取るための xml パーサーとして pugixml を使用します。すべてコンソールモードで動作します。

そこで、新しい Windows フォーム プロジェクトを開始し、作成したすべてのヘッダー ファイルを追加しました。GUIなどを設計しました。すべてをコンパイルしようとすると、コンパイルされますが、これは次のとおりです。

pugixml.cpp(5627): エラー C2440: 'return' : 'System::String ^' から 'const pugi::char_t *' に変換できません 利用可能なユーザー定義変換演算子がないか、マネージド型をアンマネージド タイプ

エラーが発生するコードは次のとおりです。

const char_t* convert_number_to_string_special(double 値) { #if defined(_MSC_VER) || defined( BORLANDC ) if (_finite(value)) return (value == 0) ? PUGIXML_TEXT("0"): 0; if (_isnan(値)) return PUGIXML_TEXT("NaN"); この行----> return PUGIXML_TEXT("-Infinity") + (value > 0);

プロジェクトの構成を変更しようとしましたが、何も得られませんでした。

どんな手掛かり?よろしくお願いします!

前もって感謝します!

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

c++ - pugi:char_t* を文字列に変換する方法は?

重複の可能性:
pugi::char_t* を文字列に変換する方法

pugi:char_t* タイプを wchar_t 文字列に変換するにはどうすればよいですか?

child_value() の結果を utf8 文字列と比較したいのですが、その変換がなければそれはできません。

この割り当ては、右側が pugi::char_t* で左側が whar_t* であるため、エラーを返します。

ありがとう

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

c++ - pugixml と tinyxml

短い質問: pugixml と tinyxml の比較に関するコメントはありますか?

詳細 XML パーサー/ライターを使用する必要があります。私のソフトウェアは C++ で書かれています。

TinyXML と pugixml はどちらも良いオプションのようです (RapidXML も良いですが、データの割り当てを自分で管理する必要があるため、インターフェイスは上記の 2 つほど簡単ではないようです)。

この 2 つの比較について何かコメントはありますか? 私は組み込みプラットフォームで作業しているため、メモリ処理が重要であり、XML データの解析と書き込みの両方ができる必要があります。

速度はそれほど重要ではありませんが、メモリ使用量と簡単なインターフェイスは重要です。

ありがとう。PS私が扱っているXMLファイルはかなり小さいです(最大サイズ= 1200バイト、最大要素= 6または7、XMLファイルはかなり単純です)。

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

visual-c++ - PugiXml を使用する静的ライブラリの作成中に未解決の外部

xml 解析に PugiXml を使用する静的ライブラリを作成しています。Visual Studio 2010 からのリンカー出力を次に示します (読みやすくするために記号を省略記号に置き換えました)。

私が試したこと:

  • テンプレート クラスを明示的にインスタンス化します。
  • PugiXml ソースをテスト プロジェクトにリンクします (現在、ビルド中の静的ライブラリに含まれています)。
  • PugiXml を静的ライブラリとしてビルドし、ライブラリ プロジェクトとテスト プロジェクトの両方で参照する
  • 私の純粋な仮想関数の代わりに何もしない関数を書く。
  • pugixml をまったく参照しないデフォルトのコンストラクターを提供する

これは、過去 2 日間、私を夢中にさせており、どうすればよいか本当にわかりません。誰かが私に何か指示を与えることができれば、私はそれを大いに感謝します!

編集: pugixml を使用する単純な静的ライブラリを作成すると、コンパイルとテストが正常に行われることに注意してください。そのため、テンプレートとクラスの記述方法に問題がある可能性があります。

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

pugixml - pugixml node_cdata、node_pcdata set_value()無効な文字

node_pcdataの値を設定すると、pugixmlが無効な文字を追加しているようです。コードは以下のとおりです。私がやろうとしているのは、PNGをbase-64でエンコードし、XML経由で送信することです。私はbase-64でエンコードされたテキストをファイルに書き込んで、pugixmlとは別にチェックしましたが、見栄えがよく、これらの有効な文字で終わります4AAAAASUVORK5CYII=。しかし、ndAvatarData.set_value(avatarEnc)呼び出しは同じ実行に対して無効な文字を追加しています4AAAAASUVORK5CYII= cY 3XA+&#23;Рz&#05;。結果が有効な場合もありますが、それを繰り返すことができなかったため、その場合のpugi出力がどのようになるかわかりません。

ここでやらなければならないことはありますか?これはpugixmlの既知の問題ですか?検索しましたが、この問題について説明しているものは見つかりませんでした。

これはVisualC++2010で取得しています。