問題タブ [tinyxml]
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++ - TinyXML: ドキュメントを char * または string に保存します
ファイルを読み取ってディスクに保存するだけでなく、TinyXML を使用してメモリから読み取って保存しようとしています。
ドキュメントの解析関数は char * をロードできるようです。しかし、作業が終わったら、ドキュメントを char * に保存する必要があります。誰もこれについて知っていますか?
編集:印刷とストリーミング機能は、私が探しているものではありません。それらは表示可能な形式で出力されます。実際の xml コンテンツが必要です。
編集:印刷はクールです。
c++ - TinyXML の UTF-8 サポートはどのように機能しますか?
TinyXMLを使用してXML ファイルを解析/構築しています。現在、ドキュメントによると、このライブラリは UTF-8 を介してマルチバイト文字セットをサポートしています。これまでのところとても良いと思います。ただし、ライブラリが提供する唯一の API (要素名、属性名、および値の取得/設定など、文字列が使用されるすべてのもの) はstd::string
or const char*
. これは、マルチバイト文字セットのサポートについての私自身の理解に疑問を投げかけています。8 ビット文字のみをサポートする文字列に 16 ビット文字を含めるにはどうすればよいでしょうか (「Unicode をサポートする」主張を否定するコード ページを使用しない限り)。理論的には 16 ビットのコード ポイントを取得して 2 文字に分割できることは理解していますが、それではstd::string
変換されません。std::string
「Unicode」文字列に変換すると、ほとんどの目的で無効になり、ファイルに書き込んで別のプログラムで読み込むと、誤って機能する可能性があります。
それで、誰かがライブラリが「8ビットインターフェース」(std::string
またはconst char*
)を提供し、「Unicode」文字列をサポートする方法を説明できますか?
(おそらく、ここで Unicode 用語をいくつか混同しました。そこから生じる混乱については申し訳ありません)。
c++ - TinyXML++ の奇妙な動作
TinyXML++ の人々の何人かが私を助けてくれることを願っています。本当に、あなたが私に借りがあると思う前にあなたが私に推薦してくれたので;)
次のコードがあります。
child に top 宣言を使用すると、次のエラーが発生します。
Drawing.exe の 0x7c812aeb で未処理の例外: Microsoft C++ 例外: __non_rtti_object @ 0x0012f7b4。
そして、次の行で dbgheap.c に取得します。
奇妙なのは、Node で動作することです。そこに要素があることはわかっています (TinyXML 反復メソッドを使用して確認しました)。
誰もこれに遭遇したことがありますか?
c++ - TiXmlElement* のゲッターおよびセッター ラッパー
ゲッターとセッターを使用して TiXmlElement * を参照するようにプロジェクトを書き直しています。ただし、デバッグ モードに関連していると思われる問題にすぐに遭遇します。
私のクラスのヘッダーからの抜粋:
クラス コンストラクターからの抜粋:
クラスのインスタンス化からの抜粋:
さて、奇妙な部分です。これは、
コンストラクターで。
->FirstChildElement("dialogs") は、デバッグ モードのときに VS2008 で "CXX0039: エラー: シンボルがあいまいです" というエラーをスローします。
奇妙な点は、IntelliSense が FirstChildElement メソッドを検出し、コンパイラがエラーをスローしないことです。
さらに奇妙なのは、リリース モードでは、ダイアログ要素の取得に黙って失敗することです。
私が間違っていることは何ですか?または、TiXmlElement* のゲッター セッター ラッパーの実装に成功した場合は、私にもその方法を教えてください!.
完全なリファレンスとして、XML ファイルからの抜粋を次に示します。
私は行き止まりにいるので、フィードバックをいただければ幸いです:)
c++ - TinyXML:ファイルポインタを解析する方法
ファイルポインタであるpopenの出力をTinyXMLの入力に接続しようとしています。
メインページによると、それを行うための最良の方法は、解析メソッドを使用することです。
これを実現するには、TIXML_USE_STLを使用する必要があると思います。例を見つけてインポートするにはどうすればよいですか?
削除されてからの返信は、ドキュメントで正しい方向を示してくれました
http://www.grinninglizard.com/tinyxmldocs/index.html
ありがとう。
今、私はそれをリンクしてインポートする方法を理解する必要があります。
c++ - C++/Eclipse にインクルードするための別のライブラリを作成する方法
TinyXML パーサーで動作する C++ コードを入手しました。ただし、これを行うには、通常のソース コードに TinyXML のソース コードを含める必要がありました。TinyXML を別のライブラリとして含めたいと思います。Cygwin C++ コンパイラで Eclipse を使用しています。これを行う良い方法は何ですか?
c++ - TinyXml を使用して特定の要素を解析する方法
出力から要素のグループを解析したいと思いTinyXml
ます。"portid"
基本的に、ポートの状態を持つポート要素の属性を選択する必要があります"open"
(ポート 23 について以下に示します)。
これを行う最善の方法は何ですか?TinyXml からの出力の (簡略化された) リストを次に示します。
c++ - TinyXml for C++ を使用する場合、どのようなメモリ管理をクリーンアップする必要がありますか?
私はTinyXmlで次のことをしています:
プログラムの実行の最後に、が範囲外になると、すべてTiXmlElement*
がクリーンアップされますか? doc
自分でドキュメント ツリーをたどってすべてのメモリを解放する必要がありますか?
c++ - XML ファイルを最適に保存する方法
TinyXMLを使用して XML ファイルからそれぞれの値を読み取る一連のクラスがあります。
これを行ったので、すべてがメモリ内にあり、ユーザーはアプリを使用して変更を加えています。ユーザーが [保存] を押した場合、オブジェクトを繰り返し処理し、XML ファイルを書き出す Save() 関数を呼び出す必要があります。XML ファイルをプログラムでゼロから再構築して書き出す必要がありますか? またはTiXmlHandle
、ファイルの読み取りに使用したものと同じものを使用し、それを変更してから書き戻す必要がありますか? そうすれば、元の順序が維持されます。XML を再作成すると、元の順序が変更されます。
ユーザーが手動で XML を変更できるようにしたいので、手動で変更して、保存時に再シャッフルするだけではおかしいと思います。オプションを正しく理解していますか?
これまで TinyXML や XML を使用したことがありませんでした。