問題タブ [mini-xml]
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 - MiniXMLを使用してCでXMLファイルを解析する
MiniXMLライブラリを使用してCでXMLファイルを解析していますが、ノードの値を読み取ろうとするとNULLが返されます。
コードは次のとおりです。
問題は、node->value.text.stringがNULLであるということです。私はドキュメントを読んでいますが、何が間違っているのかわかりません。誰かが以前にこの問題に遭遇したことがありますか?
c++ - C ++:XMLファイル(MXMLライブラリ)の解析に関する問題
次のコードに問題があります。
Mini-XMLライブラリを使用して、xmlファイルから要素を抽出します。
最後の「radiuselement」を取得できず、代わりにNULLを返すことを除いて、コンパイルして正常に実行されます(サブノードがNULLでないかどうかを確認しないとクラッシュします)。
}
問題のXMLファイルの一部を次に示します。
このコードの何が問題になっていますか?
c++ - C++: Mini-XML を使用して XML ファイルから長い文字列を読み込む際の問題
Mini-XML ライブラリを使用して XML ファイルを解析しています。
ほぼすべての要素と属性をロードできますが、長い文字列をロードするのに問題があります。
コードの関連部分は次のとおりです。
解析する必要がある 1 つの要素を次に示します。
説明タグから最初の単語しか取得していません。
なんで?
編集 1: std::string に切り替えようとしましたが、MiniXML ライブラリは const char* を返していますが、これは明らかにそのような長い文字列を保持できません。
助言がありますか?
編集 2: 空白を無視するようにコールバックを OPAQUE に変更しましたが、NULL を返すだけになりました。
編集 3: value.text.string の代わりに value.opaque を取得するようにメソッドを変更しました。これにより、「description」タグはうまく機能しますが、「bar」タグを const char* にロードしようとするとクラッシュします。xml ファイルから引用符などを削除して、それが原因であるかどうかを確認しようとしましたが、役に立ちませんでした。
編集 4:「資産」オブジェクトを 1 つを除いてすべて削除し、次にその「バー」要素を削除しましたが、それでもクラッシュします。これは絶対に奇妙です!
編集 5: さて、私は問題のコードを分離しました:
ただし、これをメソッドに統合しました。これは、記述要素 (その直前) に使用しているのと同じメソッドであり、正常に機能します。なにが問題ですか?
編集 6: 奇妙なことに、検索文字列を "bar" に変更すると、正常に失敗します (つまり、NULL が返されます)。クラッシュするのは、「バー」(必要な要素)に変更したときだけです。これは予約済みのキーワードですか、それともミニ xml が気に入らないものですか?!
編集 7: 最後に! 理解した。MXML_DESCEND を MXML_DESCEND_FIRST に変更したところ、問題なく動作しました。わあ!なんという安堵。みんなありがとう!
c - MiniXML: C での xml の解析
Minixml を使用して C で xml ファイルを解析しています。この小さな例から「check-time」、「check-key」などの値を取得したい。ファイル:
これが私のコードです。タグを使用してデータを抽出する方法がわかりません。助けてください。subnode->next が次のインスタンス値を表示しないのはなぜですか?
c - `mxmlNewXML'へのminixml未定義の参照
minixmlライブラリをプロジェクトに取り込むのに問題があります。
こちらのminixmlページのドキュメントに従いましたhttp://www.minixml.org/documentation.php/install.html
インストール中にエラーは発生しませんでした。/usr/local/include/mxml.hに.hファイルがあり、/ usr / local / lib/libmxml.aにアセンブリファイルがあります。
mxml.hをインクルードしまし#define<mxml.h>
たが、そのファイルに問題はありません(mxml_node_tなどのミニxmlタイプからのエラーがないため...
また、ライブラリをリンクするために-lmxmlコンパイルフラグを使用してコンパイルしています。
プロトタイプに一致する関数を呼び出す方法は次のとおりです。
c - miniXML パース C API
次の XML ファイルを解析しようとしています。
私は次のCコードを使用しています:
ルートの子にアクセスするにはどうすればよいですか? 私のアクセスの概念はどこが間違っていますか?
ありがとうございました。
@RutgersMikeの応答後に編集
while ループを拡張して、minixml の概念を理解しようとします。
その結果、次のようになりました。
この子と親の間のナビゲーションの概念は少し奇妙だと思います。兄弟間に(null)値があるのはなぜですか?
私はezxmlに戻ることを検討しています。
ありがとうございました
c - mxmlDelete()の使い方
私はmxmlライブラリを使用して、C 言語で XML ファイルを解析しています。次のコードを使用して、XML をバッファーにロードします。
XML ファイルは複雑ですが、現時点では関係ありません。
私の質問は、mxml ライブラリ関数で使用されているメモリをいつ解放する必要があるかということです。
このようなコードを一度だけ使用するだけで十分ですか:
XML.(mxmlDelete(node1);mxmlDelete(node2);
または、到達するまで、すべてのノードに対してそれを繰り返す必要がありmxmlDelete(tree);
ますか?
c++ - minixmlデータの表示をより読みやすくする方法は?
Cプログラムでminixmlを使って遊んでいます。そして、minixmlツリーをmxmlSaveFile(bkp_tree, fp, MXML_NO_CALLBACK);
関数を使用してファイルに保存すると、xmlデータ全体が1つのブロックにまとめられます。ファイル内のxml構造を表示するための編成はありません(改行、インデント...)。
xmlデータはこの方法で保存されます
次の方法でXMLデータを保存するminixmlを作成するにはどうすればよいですか?
c - スペースでxml値を読み取る方法
次のような xml ドキュメントを作成します。
このドキュメントを minixml ライブラリで解析しようとしました:
ファイルを解析すると、次の結果が見つかりました。
私の問題を解決する方法はありますか?