tingxml2开源插件C++读xml文件

tingxml2获取网站

https://github.com/leethomason/tinyxml2

在新建的项目中需要添加

tinyxml2.h、tingxml2.cpp文件

using namespace tinyxml2 ;

直接上代码

xml内容

<?xml version="1.0"?>
<config id="TC">
    <channel id="libQuoteChannel">
        <front>tcp://140.206.81.6:17777</front>
        <broker>801</broker>
        <investor>123456</investor>
        <password encode="0">888888</password>
    </channel>
    <channel id="libsgitTradeChannel">
        <front>tcp://140.206.81.6:17776</front>
        <broker>802</broker>
        <investor>456789</investor>
        <password encode="0">888888</password>
    </channel>
</config>
读取以上xml内容C++代码

#include "tinyxml2.h"
#include <iostream>
using namespace std;
using namespace tinyxml2 ;
int main()
{
	XMLDocument  doc;
	doc.LoadFile ("libTradeChannel.xml");
	cout<<doc.ErrorID()<<endl;
	XMLElement *scene=doc.RootElement ();
	XMLElement *surface=scene->FirstChildElement ("channel");
	while(surface)
	{
		XMLElement *surfaceChild=surface->FirstChildElement ();
		const char*content;
		const XMLAttribute *attributeofsurface=surface ->FirstAttribute ();
		cout<<attributeofsurface ->Name()<<":"<<attributeofsurface ->Value ()<<endl;
		while(surfaceChild)
		{
			if(strcmp(attributeofsurface ->Value (),"libsgitTradeChannel")==0)
			{
				const char *temp=surfaceChild ->Name();
				content=surfaceChild ->GetText ();
				printf("%s\n",content);

			}
			surfaceChild =surfaceChild ->NextSiblingElement ();
		}
		surface=surface->NextSiblingElement ();
	}
	getchar();
	return 0;

}
同样将内容写进xim文件中,最后用doc,SaveFile()保存文件即可



猜你喜欢

转载自blog.csdn.net/liuhuashui123/article/details/52191410
今日推荐