天天看点

使用tinyxml操作xml中的叶节点

 观察一下下面的xml文本:

<root>

    <item id="0000">leaf note<item>

</root>

item是root的一个节点,它对应tinyxml中的TiXmlElement类(从TiXmlNode派生)对象,节点的value是指文本"item",而文本"leaf note"也是一个节点,不过它是叶节点,它对应TiXmlText(从TiXmlNode派生)类的对象,如果你想添加一个叶节点,应该先创建TiXmlText对象然后再添加,下面是部分代码:

...

TiXmlElement* root->doc.RootElement();

//添加节点item到root下

TiXmlElement eleitem("item");

eleitem.SetAttribute("id", "0000");

// 添加叶节点到itm下

TiXmlText leafnote("leaf note");

eleitem.InsertEndChild(eleitem);

root->InsertEndChild(eleitem);

doc.SaveFile();

如果你想读取文本"leaf note",可以使用下面代码(部分):

TiXmlNode* node = root->FirstChild("item");

TiXmlElement* element = node->ToElement();

const char* text = element->GetText();//text即是文本"leaf note"

//TiXmlText* textnote = node->ToText(); //但无法获取文本"leaf note"

附:

本文转自jetyi51CTO博客,原文链接: http://blog.51cto.com/jetyi/763231,如需转载请自行联系原作者

继续阅读