tinyXml 如何添加元素

tinyXml how to add an element

本文关键字:添加 元素 何添加 tinyXml      更新时间:2023-10-16

>我有以下内容:

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节点中时,由您决定将其从任何类型转换为文本,然后在检索文本时将其从文本转换为任何类型。