VC解析xml问题

delisha 2009-06-11 02:41:48
你好,我现在想用tingxml解析一个xml文件,如下是一个XML片段:
<Persons>
<Person ID="1">
<name>周星星</name>
<age>20</age>
</Person>
<Person ID="2">
<name>白晶晶</name>
<age>18</age>
</Person>
</Persons>
解析出来的结果如:
1
周星星
20
2
白晶晶
18
请问需要哪个函数或者类?
...全文
102 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
昵称很不好取 2010-02-02
  • 打赏
  • 举报
回复
tinyxml,这个解析xml文件超级好,又容易懂,推荐之
zhourenyun 2010-02-02
  • 打赏
  • 举报
回复
google CMARKUP类的使用
我刚看过好多例子
Xx哼哼xX 2010-02-02
  • 打赏
  • 举报
回复
学习一下!
delisha 2009-06-17
  • 打赏
  • 举报
回复
怎么发分呢
god_sun 2009-06-15
  • 打赏
  • 举报
回复
没分唉
delisha 2009-06-15
  • 打赏
  • 举报
回复
#include"tinystr.h"
#include"tinyxml.h"
#include"iostream.h"

void main(){

TiXmlDocument * xmldoc = new TiXmlDocument("readxml.xml");
xmldoc->LoadFile();

TiXmlElement * root = xmldoc->RootElement();
TiXmlElement * pPerson =root->FirstChildElement();
while(pPerson)
{
TiXmlElement *pname = pPerson->FirstChildElement("name");
TiXmlElement *page = pPerson->FirstChildElement("age");
cout<<pname->GetText()<<endl;
cout<<page->GetText()<<endl;
pPerson = pPerson ->NextSiblingElement();
}
xmldoc->SaveFile("2.txt");
// xmldoc->Print();
}
测试结果:
<persons>
<person ID="1">
<name>zhouxingxing</name>
<age>20</age>
</person>
<person ID="2">
<name>wangjingjing</name>
<age>30</age>
</person>
</persons>
我想要的结果是:
1
zhouxingxing
20
2
wangjingjing
30
请问,该怎么处理?
crossrowman 2009-06-11
  • 打赏
  • 举报
回复
tingxml* xmldoc = new tingxml("文件路径");
xmldoc->load();

tingxmlelement* root = xmldoc->RootElement();
tingxmlelement* pPerson =root->FirstChildElement();
while(pPerson)
{
tingxmlelement*pname = pPerson->FirstChildElement("name");
tingxmlelement*page = pPerson->FirstChildElement("age");
printf("%s\n" , pname->GetText());
printf("%s\n" , page->GetText());
pPerson = pPerson ->NextSiblingElement();
}

函数名记得不是很清楚 大概是这个样子
delisha 2009-06-11
  • 打赏
  • 举报
回复
谢谢这位朋友 我试试吧
donkey301 2009-06-11
  • 打赏
  • 举报
回复
只用过cmarkup类,很方便

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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