如何使用TinyXML的时候去得到一个TiXmlNode结点里的所以的xml文档的流内容

hxzb7215191 2006-12-11 02:41:53
如题,
现在我有一个这样的xml文档.

<?xml version="1.0" encoding="GB2312" ?>
<root>
<recordset>
<name>大家好</name>
</recordset>
<recordset>
<name>新年好</name>
</recordset>
<recordset>
<name>早上好</name>
</recordset>
</root>

我在解析的时候,想把这一些
<recordset>
<name>大家好</name>
</recordset>
读出来.
...全文
453 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
alexdjq 2007-01-06
  • 打赏
  • 举报
回复
这些代码是测试过的,但是我忘记我的TinyXML版本了。请确定你是否写了 using namespace std; 这行代码。
hxzb7215191 2006-12-27
  • 打赏
  • 举报
回复
你写这东西是不是已经做过测试了呀。还有你的版本是什么呢
hxzb7215191 2006-12-19
  • 打赏
  • 举报
回复
error C2678: 二进制“<<” : 没有找到接受“std::string”类型的左操作数的运算符(或没有可接受的转换)
alexdjq 2006-12-14
  • 打赏
  • 举报
回复
你的意思是只读出某个指定结点的文本内容吧?你首先得定位到你想要得出文本的那个结点。因为 tinyxml 中已经重写了结点的 << 运算符,所以你可以把这个结点及其子结点的内容读入到一个 string 字符串中。下面是的写的一个例子。

#include <tinyxml/tinyxml.h>

#include <iostream>
#include <string>
using namespace std;

int main(int argc, char* argv[])
{
const string strXMLHeader = "<?xml version='1.0'' encoding='gb2312'?>";
string strXMLData = strXMLHeader;
strXMLData += "<root><recordset><name>大家好</name></recordset></root>";


TiXmlDocument doc;
doc.Parse(strXMLData.c_str());

TiXmlElement* pRecordSet = doc.RootElement()->FirstChildElement();
string strRecoreSet;
strRecoreSet << *pRecordSet;

cout << strRecoreSet << endl;


return 0;
}

---------------------------------------
输出结果为:
<recordset><name>大家好</name></recordset>
Press any key to continue

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧