您现在的位置是:首页 > 文章详情

Windows10 VS2017 C++ xml解析(tinyxml2库)

日期:2018-12-25点击:318
版权声明:本文可能为博主原创文章,若标明出处可随便转载。 https://blog.csdn.net/Jailman/article/details/85264849

首先下载tinyxml2 7.0.1库:
https://github.com/leethomason/tinyxml2/releases
打开tinyxml2,然后升级sdk,解决方案->重定解决方案目标,升级。
然后编译生成dll和库文件,在tinyxml2\Debug-Dll下,将tinyxml2.lib和tinyxml2.dll拷贝到新建的工程目录,在新建工程根目录新建include文件夹,将tinyxml2.h拷入,并将工程->配置属性->vc++目录->包含目录指向此目录。
编码:

 #include "pch.h" #include <iostream> #include <tinyxml2.h> #pragma comment(lib, "tinyxml2.lib") using namespace std; int main() { static const char* xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" "<entries>" "<entry name=\"My First Post\" age=\"52\">I believe every human has a finite number of heartbeats. I don't intend to waste any of mine</entry>" "<entry name=\"The Second\" age=\"\">You know, being a test pilot isn't always the healthiest business in the world.</entry>" "<entry>Entry</entry>" "<entry name=\"The Third\" secretdata=\"9809832\">We have an infinite amount to learn both from nature and from each other</entry>" "<entry name=\"Final Post...\" hidden=\"true\" age=\"3\">Across the sea of space, the stars are other suns.</entry>" "</entries>"; tinyxml2::XMLDocument doc; doc.Parse(xml); tinyxml2::XMLHandle docHandle(&doc); tinyxml2::XMLElement *entry = docHandle.FirstChildElement("entries").ToElement(); if (entry) { for (tinyxml2::XMLNode *node = entry->FirstChildElement(); node; node = node->NextSibling()) { tinyxml2::XMLElement *e = node->ToElement(); const char *name = e->Attribute("name"); if (name) cout << name << ": "; cout << e->GetText(); int true_age = e->IntAttribute("age") + 50; cout << " " << true_age << endl; } } return 0; } 

如果需要单独使用exe,需要注意带上tinyxml2.dll文件
结果显示:
在这里插入图片描述

参考文章:
https://gist.github.com/felton/5530029

原文链接:https://yq.aliyun.com/articles/683172
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章