ダウンロード先

error C2872: 'XMLDocument': あいまいなシンボルです。

#define WIN32_LEAN_AND_MEAN

https://github.com/leethomason/tinyxml2/issues/37

データへのアクセス

これで取得できる

XMLElement* root = xml.FirstChildElement( データ名 );

「dir1/data1/」に対してコレはダメ(親ノードをすっ飛ばしてる)

XMLElement* root = xml.FirstChildElement( "data1" );

コレもダメ(パスは繋げない)

XMLElement* root = xml.FirstChildElement( "dir1/data1" );

これはOK

XMLElement* dir1 = xml.FirstChildElement( "dir1" );

これが正しい

XMLElement* data1 = dir1.FirstChildElement( "data1" );

データの取得

基本的に全てテキストで得られる。データがないもの(ディレクトリなど)はNULLが返る

const char* txt = data1->GetText();

次のデータを得る

例のXML

<food>
  <fruits>
     <data>りんご<data>
  </fruits>

  <fruits>
     <data>めろん<data>
  <fruits>
</food>

プログラム

XMLElement* food   = xml.FirstChildElement( "food" );
XMLElement* fruits = food->FirstChildElement( "fruits" );

fruits->NextSiblingElement( "fruits" );
gxLib::DebugLog( "%s" , fruits->GetText() );

結果

めろん

こうする。「フルーツ」が自分自身のポインタをつかって次の「フルーツ」を探すイメージ