`
HeLinHang
  • 浏览: 141750 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

C++解析xml

阅读更多

需要导入xml的文件,附件中有

 

需要解析的XML

 

 

<?xml version="1.0" encoding="UTF-8" ?>
<db>
	<db_ip>127.0.0.1</db_ip>	
	<db_port>3306</db_port>
	<dbname>test</dbname>
	<username>root</username>
	<password>root</password>
	
	<connection_num>20</connection_num>
</db>

 获得当前的exe路径

CString SessionFactory::getAppPath()
{
	TCHAR modulePath[MAX_PATH];
	GetModuleFileName(NULL, modulePath, MAX_PATH);
	CString strModulePath(modulePath);
	strModulePath = strModulePath.Left(strModulePath.ReverseFind(_T('\\')));
	return strModulePath;
}

 //解析xml

 

#include "../libs/tinyxml/tinystr.h"
#include "../libs/tinyxml/tinyxml.h"

 

 

void SessionFactory::loadDataBase(const char * fileName)
{
	CString tempPath=getAppPath();
    char * appPath=(LPSTR)(LPCTSTR)tempPath;
	string seperator = "\\";
	string fullPath = string(appPath)+seperator+fileName;

	TiXmlDocument doc(fullPath.c_str());
	doc.LoadFile();
	TiXmlElement * rootElement = doc.RootElement();
	OutMsg(rootElement->Value());
	TiXmlElement *dbIpElement = rootElement->FirstChildElement();
	dbIp = dbIpElement->FirstChild()->Value();
	
	TiXmlElement *dbPortElement = dbIpElement->NextSiblingElement();
	dbPort = dbPortElement->FirstChild()->Value();

	TiXmlElement *dbNameElement = dbPortElement->NextSiblingElement();
	dbName = dbNameElement->FirstChild()->Value();

	TiXmlElement *dbUsernameElement = dbNameElement->NextSiblingElement();
	username = dbUsernameElement->FirstChild()->Value();

	TiXmlElement *dbPasswordElement = dbUsernameElement->NextSiblingElement();
	password = dbPasswordElement->FirstChild()->Value();

	TiXmlElement *connectionNumElement = dbPasswordElement->NextSiblingElement();
	connectionNum = atoi(connectionNumElement->FirstChild()->Value());
	
}

 

 

分享到:
评论

相关推荐

    C++解析xml文件

    C++实现对xml文件的解析,C++实现对xml文件的解析,C++实现对xml文件的解析。

    C++解析xml之完整代码(完整解析)

    C++完整解析XML C++解析xml之完整代码(完整解析)

    C++ 解析xml类 tinyXML

    C++ 解析xml类 tinyXM 用于开发解析XML

    纯C++解析XML

    纯C++解析XML,仅仅使用到了stl,其余实现都在C++,运行高效

    C++解析XML.zip

    C++解析XML,使用方法https://blog.csdn.net/QQ6550523/article/details/106728964

    C++ 解析XML(MSXML)

    C++ 解析XML(MSXML),此代码用于显示XML文档,并读取指定元素内容,适合初学者!

    C++解析XML

    C++解析XML

    c++ 解析 xml 源代码

    这里提供一个实例教程来阐明c++解析 xml.使用平台为 vs2003/2005

    MSXML C++解析XML

    此代码为MSXML C++解析XML,功能是显示并保存XML文档,简单实用!

    C++解析XML格式文件

    C++解析XML文件

    MFC平台C++解析xml

    解析xml 利用c++技术解析xml文件 在mfc平台上开发,分析解析xml,把xml当成小型数据库。

    C++解析xml源码

    解析XML的C++类,使用简单,功能强大

    C++解析xml文档或者xml字符串方法

    由于在javascript中不存在指针概念,故在xml页面调用OCX控件时,以前控件中的输出参数通过指针返回在...然而怎么去解析它呢,而又怎么去做一个xml字符串呢,通过研究学习,以下是当然已有的解决方案。开发环境:VS2010

    c++解析XML

    c++使用轻量级tinyxml2解析XML数据,软件在visual studio 2017中编写,数据在win32控制台打印输出

    xml c++ 解析完整工程

    xml c++ 解析vs2005完整工程

    C++解析xml源码/socket通讯案例

    组装xml并使用socket发送到服务端,由服务端解析并显示

    简单易用的C++解析xml类

    RapidXml 试图成为最快的 XML DOM 解析工具包,同时保证解析结果的可用性、可移植性以及与 W3C 标准的兼容性。RapidXml 使用 C++ 编写,因此在操作同一数据时,其解析速度接近于 strlen() 函数。 整个解析工具包包含...

    C++ XML解析之TinyXML篇

    最近使用TinyXML进行C++ XML解析,感觉使用起来比较简单,很容易上手,本文给出一个使用TinyXML进行XML解析的简单例子,很多复杂的应用都可以基于本例子的方法来完成。以后的文章里会讲解使用Xerces进行C++ XML解析...

    C++完整解析XML

    C++完整解析XML ,C++完整解析XML 。大家一起学习!

    解析XML文档 实现树结构实例

    开发环境为VC,基于对话框,用msxml组件解析XML文档,运用递归循环的方法实现树结构,支持中文,可以运行的一个实例。

Global site tag (gtag.js) - Google Analytics