問題タブ [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 を使用してタグ間のコンテンツを取得する
タグ間のコンテンツを取得するにはどうすればよいですか
c++ - TinyXMLを使用してXMLファイルへの変更を保存するにはどうすればよいですか?
XMLファイルからGUIにデータの一部をロードする必要があるプロジェクトに取り組んでいます。GUIを使用すると、ユーザーはデータにいくつかの変更を加えることができます。私ができるようにしたいのは、これらの変更をXMLファイルに保存して戻すことです。
ファイル全体を書き換えることは可能ですが、ファイルはかなり巨大であり、ファイル内のすべてのデータが変更されているわけではなく、プログラムで使用されているわけでもありません。
これは、TinyXMLとC++Builderを使用した最初のプロジェクトです。私はこれにどのように取り組むべきかについていくつかの提案を探しています。
c++ - TinyXmlの要素を数える方法は?
関数などの使い方を間違えることが問題だと思います。
コードのこの部分は機能していますが、結果は良くありません。
カウントの結果は1です。
Xmlファイルは次のとおりです。
作業例が見つかりません。
sockets - XML 解析ライブラリは、iOS では正常に動作するが、Mac アプリではクラッシュする
プロジェクトで xml 解析に関する問題があります。2 つの xml パーサー ライブラリ (xmlParser と TinyXML) を試しましたが、コードの同じポイントで同じエラーが発生しました。最初は xmlParser のバグだと思っていましたが、TinyXML で同じエラーを見つけた後、コードのどこか、または私の理解に違いないと思います。これを修正する方法がわかりません。詳細を説明しましょう
これがxmlParserを使用して切り取られた私のコードです
TinyXML を使用して切り取られた別の画像
そして結果:
xmlData は
これはソケット 'recvfrom()' から受信されます。わかりませんが、正しく出力されます。上記の抜粋されたコードはシグナル関数にあります。ソケットがxmlDataを受信した場合にのみ実行されるとしましょう。
最初のシグナル (または最初の実行) でのクラッシュではありませんが、その後最終的にクラッシュし、3 ses - 10 分 (予測不能) かかります。
タイトルの通り、このコードは iOS では正常に動作しますが、Mac ではクラッシュします。
c++ - char *を取るtinyxml関数を渡すのはどのUnicode形式ですか?
char *を受け取るtinyxml関数を呼び出すとき、どのユニコード形式を渡す必要がありますか?
その理由は、私がwxStringオブジェクトを使用していて、それに与えることができるさまざまなエンコーディングがたくさんあるためです。string.c_str()を実行すると、wxstringオブジェクトは現在のロケールのエンコーディングを照会し、その形式でchar*文字列を作成します。または、string.utf8_str()を実行すると、utf-8文字列が渡されますが、tinyxmlはutf-8が既にエンコードされていることを認識せず、utf-8文字列をutf-8として再エンコードするようです(はい、結果はダブルutf-8エンコーディング)。したがって、書き出すときに、メモ帳++をutf-8を表示するように設定すると、次のようになります。
bağlamの代わりにbaÄŸlam。
自分でutf_8(string.utf8_str())にエンコードし、tinyxmlに触れさせずに書き出すようにしたいと思います。
どうすればよいですか?tinyxmlは関数パラメーター(上記のコードのコンストラクター)でどのような形式が渡されると予想しますか?テストからの答えはutf-8ではありませんが、それが理にかなっている場合は、最終的にutf-8として書き出されます。
tinyxml - TinyXMLでバイナリデータを送信および読み取る方法は?
ファイルデータ(画像、テキスト、ワード、エクセルなど)をxmlで送信する必要があります。ファイル データをバイナリ データとして送信する必要があります。これに関するいくつかの記事を読みましたが、TinyXml で達成する方法がわかりませんでした。以下の投稿をお読みください: http://www.techrepublic.com/article/send-binary-data-in-xml/1050529
上記の投稿では、3 つのアプローチについて言及しています。tinyXML で可能なアプローチを教えてください。可能であれば、tinyXML でバイナリ データを送信および読み取るためのサンプル コードを送信してください。私はたくさん検索しましたが、これを行う方法を見つけることができませんでした。
サンプル コードが不可能な場合は、使用する必要がある API をリストしてください。それを試して、ここで私のステータスを更新します。
c++ - TinyXML を使用した C++ クラスからの XML 生成
の形式の XML を生成したいのですが、
このために、TinyXML を使用することにしました。
次のクラスを作成しました。
さて、このクラス階層の Xml ドキュメントを生成したいときは、
しかし、TinyXml を使用してこれらのクラスを XML 形式に追加する方法がわかりません。
android - TinyXML2 の解析が非常にうまくいかない
編集:私はそれを理解しました、これの下半分に向かって見てください
質問をする前に、私は TBXML と RapidXML の使用に成功したことを述べておきます。具体的には、Rapid はこのまったく同じドキュメントを正常に解析しました。XML の読み取りと値の割り当てに精通しています。
とはいえ、TinyXML と Cocos は android にコンパイルされるため、良い組み合わせのようです。ノードを1回下に移動し、値を出力して、自分がどこにいるのかを確認できます...問題は次のとおりです。
node = node->nextSibling();
常に false を返します。私はこれを行うことができることを学びました:
node->Parent()->NextSibling(); これにより、代わりに次の兄弟が得られます。しかし、ここに問題があります:
ParentNode->FirstChild() は、そのツリーの最初の要素を返します。しかし、ParentNode->NextSibling() を呼び出すと、何らかの理由で兄弟へのポインターが返されますが、ツリーの 1 レベル上にあることを除きます。
これは、ループを半悪夢にするでしょう。
私はhttp://grinninglizard.com/tinyxml2docs/classtinyxml2_1_1_x_m_l_node.htmlを精査して、ノードまたは要素スタイル (例: NextSiblingElement() ) の使用の違いを見つけていますが、せいぜい 1 回のループで失敗するか、単にクラッシュ。
このパーサーは他のパーサーのように機能しないか、規約が間違っています。どこにいるのかを確認するためにどこにでも cout を配置しましたが、最初の実行は問題ないようです。具体的には、NextSibling が問題を引き起こしています。私は、彼らが「使用するつもり」のツリー構造を知らないだけだと思います。
これは今のところ私のネストされたループです:
したがって、私のコードは兄弟要素をトラバースするためのすべての提案に一致しますが、失敗しています。他のすべてのシステムで 30 分で行ったことは何時間もかかっているため、これを使用したことがある人の助けを借りることができます。
また、「彼らのやり方」が理解されると、より理にかなっていると確信していますが、インターネット上でこれを行う実際の例を見つけることができません. 私が持っているサンプルコードを示唆するものはたくさんあります(動作していません)。
ほとんどの場合、TinyXML はノードと値を見つけます。タイプを取得するには node->Parent()->Value() を使用する必要があることを覚えている場合は、ツリー内のどこにいるのかがわかりません。あまりにもハード。
キックのために、これが機能している負荷です:
ご協力ありがとうございます。少なくとも現時点では、将来の質問者にとって有効な回答が得られる唯一の TinyXML2 の質問です。
編集:まだ答えられませんが、わかりました:
の愛のために...私は何か間違ったことをしているといいのですが、あなたがこれをしているなら、このパターンに注意してください.
注: ノードはルートを指します。
基本的に、NextSibling は親の関数であると考えてください。ここでは、「次の人物」を配置しています。
これまでのご訪問ありがとうございます。これは少なくとも 6 つの項目 (外側の項目、イェーイ!) をトラバースするので、私が今抱えているバグは私自身のものであると確信しています。
他の誰かがツリーを動的にトラバースする必要がある場合、これは誰かを助けるはずです。
c++ - 要素を既存のノードに追加しようとするとプログラムがクラッシュする
次のように、既存のノード/親に要素を追加しようとしています。
--
何が起こっているのかわかりませんが、コードのそのセクションを実行するとクラッシュします。
c++ - TinyXml: エラーコード 9
API から XML を取得するために LibCurl (SSL 付き) を使用しています。しかし、エラーコード (9) が表示され、それがどこを表しているのかわかりません。誰でも私に解決策を教えてもらえますか?
コードのスニペット:
文字列回答の内容: