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>

谢谢!

我的问题是我是否可以将 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 回答