0

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

TiXmlDocument doc;
TiXmlDeclaration * decl = new TiXmlDeclaration( "1.0", "utf-8", "");
doc.LinkEndChild( decl );
TiXmlElement * root = new TiXmlElement( "Value" );  
TiXmlElement * element = new TiXmlElement( "number" );  
root->LinkEndChild( element);  

TiXmlText * text = new TiXmlText( "5" );  
element->LinkEndChild( text ); 

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

<Value>
<number>5</number>
</Value>

THX!

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

4

2 に答える 2

2

整数値を含むノードを追加する場合、この整数は最初に文字列に変換されます。さまざまな関数でこれを行うことができますが、私は好みsnprintfます (他の関数は異なる場合があります:))

次の例を検討してください。

int five = 5;
char buf[256];
snprintf(buf, sizeof(buf), "%d", five); // transforms the integer to a string
TiXmlText * text = new TiXmlText( buf );  
element->LinkEndChild( text ); 
于 2011-05-16T13:20:04.840 に答える
0

名前が示すように、TiXmlTextノードはテキストです。整数のテキスト表現を送信できますが、自分で変換しない限り、ノードの値を整数として扱うことはできません。

要約すると、ノードに保存するときに任意のタイプからテキストに変換し、それTiXmlTextを取得するときにテキストから任意のタイプに戻すのはあなた次第です。

于 2011-05-16T13:21:25.867 に答える