c++解析xml文件

今天使用c++写设计模式的作业,便要使用到xml文件。

作为一个数据传输文件,获取其内容十分重要,于是便搜索了如何在c++环境下解析xml文件。

我用的工具是VS2009,因为占用内存较少,而且足够我使用。

解析xml文件有很多第三方库,但大多使用的都是tiny2XML来解析,于是我也使用这个第三方库。

遇到了很多问题,记住VS中的文件是要引入的,而非复制粘贴的,否则找不到。

首先头部这样写就行

c++解析xml文件

 

 其次文件这样引入

c++解析xml文件

 

 

我想都会吧

但是头文件这里出现了问题,找不到tinyxml2.h

后来百度搜索发现右击项目名称,点击最下方的属性,找到C/C++常规加上.h文件所在路径就解决了,只是这个项目

c++解析xml文件

 

 随后写代码解析xml文件

int main(){
	NvWa nw;
	XMLDocument xml;
	xml.LoadFile("config.xml");

	XMLElement *category = xml.RootElement();
	XMLElement *con = category->FirstChildElement("Name");
	const char* name = con->GetText();
	cout << name << endl;

	Person *p = nw.makePerson(name);
	p->show();

}

  

1. 首先定义一个xml的文件对象: TiXmlDocument doc;

2. 然后开始加载文件: doc.LoadFile("test.xml")

3. 获得根节点, TiXmlElement* root = doc.FirstChildElement();

4. 获得根节点级别下的第一个节点(因为平时的跟节点通常是这么设计的, 用来说明这个文档所描述的对象)

在例子里就是number: TiXmlElement* elem = root->FirstChildElement();

5. 如果要访问grade节点,也就是说访问number的兄弟节点,那么就是 TiXmlElement elem2 = elem->NextSiblingElement();

非常简单直白

6. 如果要访问其中的属性呢,比如说number里的属性in_use的值, 那么就是elem->Attribute("in_use");

7. 如果想获得“233”这个值,就用elem->GetText();

————————————————
版权声明:本文为CSDN博主「ShiningStarPxx」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ShiningStarPxx/article/details/8867364

这是我找的

原文链接: https://www.cnblogs.com/zhanghua-lijie/p/15369404.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    c++解析xml文件

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/214149

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 上午2:07
下一篇 2023年2月13日 上午2:07

相关推荐