>我有以下内容:
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>
感谢!
我的问题是我是否可以将 int 值作为字符串。 如果我以这种方式发送 XML 文件可以吗? 或者有没有办法指定 5 是 int 而不是文本?
如果要
追加包含整数值的节点,则必须先将此整数转换为字符串。您可以使用各种功能来做到这一点,但我更喜欢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 );
顾
名思义,TiXmlText
节点是文本。您可以发送整数的文本表示形式,但不能将节点的值视为整数,除非您自己转换它。
存储在TiXmlText
节点中时,由您决定将其从任何类型转换为文本,然后在检索文本时将其从文本转换为任何类型。