2

私は tinyxml2 を使用しており、属性の文字列を取得する方法を知っていますが、整数、浮動小数点数、ブール値も取得したいと考えています。だから、私はこのコードを持っています:

#include <iostream>
#include <fstream>
#include <tinyxml2.h>
using namespace std;
using namespace tinyxml2;

int main()
{
    XMLDocument doc;
    doc.LoadFile("sample.xml");

    XMLElement *titleElement = doc.FirstChildElement("specimen");

    int f = -1;
    if (!titleElement->QueryIntAttribute("age", &f))
        cerr << "Unable to get value!" << endl;

    cout << f << endl;

    return 0;
}

そして、sample.xml は次のとおりです。

<?xml version=1.0?>

<specimen>
    <animal>
        Dog
    </animal>
    <age>
        12
    </age>
</specimen>

xml ファイルは単なる偽のサンプルであり、本物ではありません。

とにかく、属性「年齢」内にある整数値をまだ取得できません。これが機能しない場合、tinyxml2 を使用して xml ドキュメントから int と float を取得するにはどうすればよいですか?

4

3 に答える 3

1

if ステートメントでは、次のように失敗をテストする必要があります。

if (titleElement->QueryIntAttribute("age", &f) != TIXML_SUCCESS )
于 2015-10-28T20:24:16.610 に答える