tinyXml如何添加元素

时间:2011-05-16 12:51:30

标签: c++ ubuntu tinyxml

我有以下内容:

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而不是文本?

2 个答案:

答案 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节点中时,您可以将任何类型的文本转换为文本,然后在检索它时从文本返回到任何类型。