問題タブ [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.

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

c++ - ある xml から別の xml への要素の比較と追加

私は2つのxmlファイルを持っています

XML1

XML2

これら 2 つのファイルを比較し、不足しているノードを XML2 から XML1 に追加します。C++ で tinyxml を使用しています。

各ノードにguidを追加することを考えています

ここで比較するときに、両方の xml のノードをループして、id に基づいてノードを比較し、不足しているノードを XML1 に追加できます。

これを達成するためのより良い方法はありますか?

0 投票する
4 に答える
8806 参照

c++ - XPath を使うべきですか、それとも DOM だけを使うべきですか?

XML ファイルに多数の階層データが格納されています。TinyXML を使用して手作りのクラスの背後にそれをまとめています。ソース署名を (頻度、レベル) のペアのセットとして記述する XML フラグメントを考えると、次のようになります。

私はこれでペアを抽出しています:

node() はノードを指してい<source>ます。

質問: 代わりに XPath ライブラリを使用して、よりきちんとした、より洗練された、より保守しやすい、または他の方法でより優れたコードを取得できますか?

更新: TinyXPath を 2 つの方法で使用してみました。どちらも実際には機能しません。これは明らかにそれらに対する大きなポイントです。私は根本的に間違ったことをしていますか?これが XPath でどのように見えるかということであれば、何も得られないと思います。

二次的な問題として、もしそうなら、どの XPath ライブラリを使用する必要がありますか?

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

iphone - xml 解析には別のリンクが必要

ここに新しいBie ...

さまざまな種類のxml解析に関する良い例や良いチュートリアルのリンクを教えてもらえますか??

これらは私がどこかから考え出したタイプです..

  • NSXMLParser
  • libxml2
  • TBXML
  • TouchXML
  • KissXML
  • TinyXML
  • GDataXML

スタックオーバーフローでこのような他の質問があるかもしれないことは知っていますが、可能なすべての種類の解析の例またはチュートリアルのリンクを1か所で利用できるようにしたいのですが、それは私が見つけることができなかったものでした...

上記の解析に関する優れたチュートリアルのリンクまたはリンクがある場合、または使用したことがある他の解析がある場合は、ここに投稿することを謙虚にお願いします..

よろしくお願いします..

0 投票する
0 に答える
185 参照

xml - 文字エンティティを正しく変換する TinyXML の最も古いバージョンはどれですか?

TinyXML のドキュメントによると、ソフトウェアの最新バージョンは、TiXmlText オブジェクトで Value() を呼び出すと、標準の 5 つの XML 文字エンティティ (&、"、'、>、<) を人間が読める形式に正しく変換します。

対照的に、このドキュメントには、「TinyXML の古いバージョンでは文字エンティティが「保持」されていましたが、新しいバージョンではそれらが文字に変換される」とも記載されています。

私は現在 TinyXML 2.5.3 を使用しており、TiXmlText オブジェクトで Value() を呼び出すと、戻り値に文字エンティティが保持されます。

文字エンティティの変換は、バージョン 2.6 以降の TinyXML 機能としてのみ実装されましたか? または、キャラクター エンティティは 2.5.3 で適切に変換されるはずですが、何か他の問題が発生していますか?

助けてくれて本当にありがとうございます!

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

c++ - 削除されたメモリが使用できないのはなぜですか? C++

TinyXMLを使用してロードしている200 MBのXML ファイルがあります。私の問題は、TinyXML オブジェクトが破棄されると、それが使用したメモリが再利用されないことです。他のプロジェクトで使用したメモリ リーク検出器を使用し、手動でコードをステップ実行しましたが、メモリ リークを見つけることができなかったので、メモリ リークが問題であるとは思えません。

このコードは問題を再現します:

Address Space Monitorを使用LoadFile()すると、赤色の大きなチャンクができた後、targetDoc破棄された後はすべて黄色になっていることがわかります。次に、最終的な char buf が割り当てられると、TinyXML から解放された黄色ではなく、赤色で表示されますが、緑色のスペースの上に表示されます。緑のアドレス空間よりも多くのバッファーを割り当てようとすると、アプリケーションがクラッシュします (メモリ不足)。これは下の画像で見ることができます。

ロード後 アンロード後 文字バッファーの割り当て

アドレス スペース モニター ページによると、「空きアドレス スペースは緑、予約済みアドレスは黄色、使用済み (コミット済み) メモリ領域は赤で表示されます」では、アドレス スペース モニターによると、TinyXML によって解放されたメモリが「予約済み」のままなのはなぜですか。何が原因で、どうすればそれを止めることができますか?

編集:

「大きなバッファを割り当てていますか? もしそうなら、黄色のスペースにメモリの断片化があり、大きな連続したバッファを割り当てることができる場所がない可能性があります」

素晴らしい質問ですが、これは TinyXML にメモリ リークがあり、私のツールのどれもそれを示していないことを示しています。

アップデート

int を無限に割り当てるループを作成しましたが、最終的にはすべての黄色のスペースを使用しているように見えました。ただし、より大きな割り当てでは使用されません。これは、tinyXML による xml ファイルの解析中にヒープに小さなリークが散らばっていたことを示していました。tinyXML は、リークの間に収まるのに十分小さいオブジェクトのみを黄色のスペースに割り当てることができるようにヒープを断片化します。 . そのため、TinyXML のリークをより長く検索しましたが、まだ何も見つかりませんでした。すべてが正しく解放されているようで、最初の混乱状態に戻りました。

私はその問題を説明するのに途方に暮れています。

文字バッファーの割り当て 文字バッファ割り当て2 文字バッファ割り当て3

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

c++ - 整数データの格納に TiXmlText を使用する tinyxml c++

クラス参照に従って、TixmlText は const char* 値を入力として受け取ります。テキスト ファイルから読み取った整数データを xml に格納する必要があります。整数データは int ベクトルに格納され、ベクトルの各要素は const char* に変換されてから Tixml テキスト関数に渡されます。

しかし、最終的に生成されたxmlドキュメントを見ると. 数値を保存する要素でガベージ値を取得します

<timestamp>1&#x00;504</timestamp>

整数データを適切に保存するにはどうすればよいですか?

tinyxml.hで問題が発生している場所をある程度追跡しました

関数

値が同じclass TiXmlNode
存在の場合TIXML_STRING value;

  • 質問:非常に単純なものが欠けていますか?
  • 質問:どうすれば整数データを適切に保存できますか?

編集:ドキュメントからの回答に感謝します私が見逃したポイント コンパイル時の定義を使用します:

TIXML_USE_STL

いずれかのバージョンをコンパイルします。これは、コンパイラによって渡されるか、「tinyxml.h」の最初の行として設定されます。

注: Linux でテスト コードをコンパイルする場合、環境変数 TINYXML_USE_STL=YES/NO を設定すると、STL コンパイルが制御されます。Windows プロジェクト ファイルでは、STL および非 STL ターゲットが提供されます。あなたのプロジェクトでは、 "#define TIXML_USE_STL" という行を tinyxml.h の最初の行として追加するのがおそらく最も簡単です。

Tinyxml クラス参照

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

c++ - Tinyxml を使用して、XML ノードが存在するかどうかを確認します。

C++ で XML ファイルを解析するために tinyXml を使用しています。ノード(親/子/次の兄弟)が存在するかどうかを確認する方法を教えてください。以下は、私が取り組んでいるxmlファイルに存在する唯一のノードです。

上記のノードのいずれかがシーケンスで欠落している場合、プログラムはセグメンテーション違反で中止されます。

誰でも助けてください。

ありがとう

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

c++ - TinyXml のシリアライズ方法

編集:tinyxmlを使用してxmlをシリアル化するにはどうすればよいですか?

質問 2: 同じライブラリ tinyxml で作成した xml を逆シリアル化できますか? この利点はありますか?

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

c++ - tinyXml 要素を追加する方法

私は次のものを持っています:

こんな感じでいいの?.xml を次のようにしたいと思います。

THX!

私の質問は、文字列として int 値を持つことができるかどうかです。xml ファイルをそのように送信しても問題ありませんか? または、5 がテキストではなく int であることを指定する方法はありますか?

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

c++ - xmlファイルなしでc ++を使用したtinyXML xml解析

次のようなメッセージからxmlを解析しようとしています:

文字列または文字配列データを使用して、xml ファイルを使用せずに xmlDoc を作成するにはどうすればよいですか?