我有以下内容:
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值作为字符串。 if if; s ok,如果我以这种方式发送xml文件?或者有没有办法指定5是int而不是文本?
答案 0 :(得分: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 );
答案 1 :(得分:0)
顾名思义,TiXmlText
节点是文本。您可以发送整数的文本表示,但不能将节点的值视为整数,除非您自己进行转换。
总之,当您将它存储在TiXmlText
节点中时,您可以将任何类型的文本转换为文本,然后在检索它时从文本返回到任何类型。