0

TinyXML2 でノードを反復するにはどうすればよいですか? ドキュメントに従ってみましたが、これを把握できません。

http://www.grinninglizard.com/tinyxml2docs/index.html

私の XML は既に にロードされていstd::stringます。したがって、次のようにコンパイルされます。

#include "tinyxml2.hpp"
// assume I have code here which reads my XML into std::string sXML
tinyxml2::XMLDocument doc;
doc.Parse( sXML.c_str() );

docアイテム リストを反復処理して、内部のタイトル フィールドと著者フィールドをstd::string変数に取り出すにはどうすればよいでしょうか。

これが私の XML サンプルです。

<?xml version=“1.0” encoding=“utf-8”?>
<books>
    <item>
        <title>Letters to Gerhardt</title>
        <author>Von Strudel, Jamath</author>
    </item>
    <item>
        <title>Swiss Systemic Cleanliness Principles, The</title>
        <author>Jöhansen, Jahnnes</author>
    </item>
</books>

vectorC++のような単純なものを望んでいてitem、おそらく C++map内部で"title"and"author"または.titleorでアドレス指定できます.author

4

3 に答える 3

1

おそらく、これを行う最善の方法は、XMLVisitorクラス ( http://grinninglizard.com/tinyxml2docs/classtinyxml2_1_1_x_m_l_visitor.html ) を実装し、メソッドを使用するXMLNode::Accept()ことです。次に、コールバックで、必要な文字列を取得できます。

于 2016-12-15T01:29:43.363 に答える