問題タブ [rapidxml]
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++ - RapidXML は xml:space="preserve" をサポートしていますか?
「空白のみのテキストノード」を持つ XML ファイルを読んでいます。
上記の (簡略化された) 例では、終了タグと開始タグの間に空白 (1 つのスペース) があります。そのスペースを確保する必要があります。
RapidXML で解析する場合、「parse_comment_nodes」のみを指定しているため、「parse_trim_whitespace」と「parse_normalize_whitespace」は有効ではないと想定しています。だから私は "xml:space" 構文を使用しようとしています:
...しかし、RapidXML はそれを尊重していないようです。すべての兄弟ノードをループすると、値が " " のノードが表示されません。
私はドキュメントを読んで (そして読み直して)、StackOverflow でここを検索してきましたが、これが私の側の構文の問題なのか、それとも RapidXML の問題なのか、今のところわかりません。
c++ - std::vector のコンストラクタで std::string データ型を使用する
これは、std::vector のコンストラクターの使用に関する質問であるため、RapidXML 規則に関する特定の質問ではありません。
RapidXML を使用して私が見つけた他のすべての例では、誰もが次のように 's コンストラクターchar
を使用して常にデータを 's のベクトルに読み込みます。std::vector
のベクトルに変更しようとするとstd::string
、これが最初のエラーであるエラーでいっぱいの画面が表示されるため、これには理由があるに違いありません。
std::string を使用する方法はありますか?
c++ - Rapidxmlを使用してxmlからutf-8文字列を読み取る方法は?
私の質問はこの未回答の質問と同じですか?
Rapidxml で Unicode XML 値を読み取る方法
しかし、XML のコンテンツは UTF-8 でエンコードされています。私は MS Visual Studio、C++ の初心者です。
私の質問は、UTF-8 文字列を wchar_t タイプの文字列に読み込むにはどうすればよいですか?
たとえば、次のような構造を定義します。
そして、xmlから値を読み取るときに使用します..
しかし、格納されている utf-8 文字列は期待どおりではありません。それらは破損した文字です。
私の質問は次のとおりです。
- Rapidxml を使用して Unicode/Utf-8 値を読み取るにはどうすればよいですか?
- 同じことを行う単純な xml パーサーはありますか?
- サンプルコードは深く感謝します。
セクション2.1では、ここで言及されています
" RapidXml はデコードを実行しないことに注意してください - name() および value() 関数によって返される文字列には、ソース ファイルと同じエンコーディングを使用してエンコードされたテキストが含まれます。 "
XML のエンコーディングが UTF-8 の場合、 ->value() 関数の戻り値を取得する最良の方法は何ですか?
前もって感謝します。
c++ - RapidXML 使用時のセグメンテーション エラー
これを実行すると、読み込まれた XML と読み込まれたディメンションが出力され、次にセグメンテーション エラー (コア ダンプ) が出力されます。RapidXML のマニュアルで見た例をコピーしたところ、StackOverflow に同様の例がありました。私の実装の問題点は何ですか?
data.xml
map.h
map.cpp
main.cpp
c++ - RapidXML 解析が最初のノード C++ でスタックする
これを実行すると、 x: 400 Next: y が連続して出力されます。繰り返すと、なぜ次の兄弟に行かないのですか? RapidXMLマニュアルの例に従っているので、うまくいくはずです。
data.xml
map.h
map.cpp
main.cpp
c++ - スクリプトで呼び出されたときに RapidXML が解析されない
iNotify で監視されているフォルダーがあります。フォルダーにファイルが作成されると、ウォッチャーはファイルを取得し、名前を変更して (mv で)、別のフォルダーに移動します。次に、RapidXML プログラムが bash スクリプトで呼び出され、ファイルの XML コンテンツを解析すると想定されます。iNotify プログラムも、RapidXML プログラム スクリプトの呼び出し後に再起動されます。
そのため、RapidXML プログラムを単独で実行すると、ファイルが解析され、必要なすべての処理が行われます。しかし、ウォッチャーを実行し、XML ファイルがウォッチ ディレクトリに配置されると、検出され、名前が変更され、移動されますが、RapidXML プログラムがフリーズまたはキックアウトします (どちらか不明)。
ライン。
RapidXML プログラムのコードのセクションは次のとおりです。
スクリプトで呼び出されたときに XML ファイルを解析したくない理由を知っている人はいますか?