本文共 5215 字,大约阅读时间需要 17 分钟。
admin admin 172.5.2.21 37771 1
#ifndef _XMLLOCALCONDFIG_#define _XMLLOCALCONDFIG_#include
#include "XMLLocalConfig.h"//登陆信息节点#define XML_TAG_LOGIN "login"#define XML_TAG_USERNAME "userName"#define XML_TAG_PASSWORD "password"#define XML_TAG_IP "ip"#define XML_TAG_PORT "port"#define XML_TAG_REMEMBERPWD "rememberPwd"XMLLocalConfig::XMLLocalConfig(){}XMLLocalConfig::~XMLLocalConfig(){}int XMLLocalConfig::LoadFile(const char *pFilename){ XMLDocument doc; XMLError ret = doc.LoadFile(pFilename); if (XML_SUCCESS != ret) { return 1; } return ParseXmlInside(doc);}int XMLLocalConfig::SaveFile(const char *pFilename){ XMLDocument doc; int ret = PacketXmlInside(doc, pFilename); return ret;}int XMLLocalConfig::ParseXmlInside(XMLDocument &doc){ XMLElement *rootEm = doc.RootElement(); XMLElement *TmpEm = NULL; TmpEm = rootEm->FirstChildElement(XML_TAG_USERNAME); if (TmpEm != NULL) m_loginInfo.strUserName = TmpEm->GetText(); TmpEm = rootEm->FirstChildElement(XML_TAG_PASSWORD); if (TmpEm != NULL) m_loginInfo.strPassword = TmpEm->GetText(); TmpEm = rootEm->FirstChildElement(XML_TAG_IP); if (TmpEm != NULL) m_loginInfo.strIP = TmpEm->GetText(); TmpEm = rootEm->FirstChildElement(XML_TAG_PORT); if (TmpEm != NULL) m_loginInfo.nPort = atoi(TmpEm->GetText()); TmpEm = rootEm->FirstChildElement(XML_TAG_REMEMBERPWD); if (TmpEm != NULL) m_loginInfo.bRemPwd = atoi(TmpEm->GetText())?true:false; return 0;}int XMLLocalConfig::PacketXmlInside(XMLDocument &doc, const char *pFilename){ FILE* fp = NULL; fp = fopen(pFilename, "w+");//创建空xml文件 fclose(fp); XMLDeclaration *pDecl = doc.NewDeclaration("xml=version=\"1.0\" encoding=\"UTF-8\""); doc.LinkEndChild(pDecl); XMLElement* loginEm = doc.NewElement(XML_TAG_LOGIN); doc.InsertEndChild(loginEm); XMLElement* UsrEm = doc.NewElement(XML_TAG_USERNAME); UsrEm->LinkEndChild(doc.NewText(m_loginInfo.strUserName.c_str())); loginEm->InsertEndChild(UsrEm); XMLElement* pwdEm = doc.NewElement(XML_TAG_PASSWORD); pwdEm->LinkEndChild(doc.NewText(m_loginInfo.strPassword.c_str())); loginEm->InsertEndChild(pwdEm); XMLElement* ipEm = doc.NewElement(XML_TAG_IP); ipEm->LinkEndChild(doc.NewText(m_loginInfo.strIP.c_str())); loginEm->InsertEndChild(ipEm); XMLElement* portEm = doc.NewElement(XML_TAG_PORT); char szPort[10] = { 0 }; itoa(m_loginInfo.nPort, szPort,10); portEm->LinkEndChild(doc.NewText(szPort)); loginEm->InsertEndChild(portEm); XMLElement* rwdEm = doc.NewElement(XML_TAG_REMEMBERPWD); char szRwd[10] = { 0 }; itoa((m_loginInfo.bRemPwd ? 1 : 0), szRwd,10); rwdEm->LinkEndChild(doc.NewText(szRwd)); loginEm->InsertEndChild(rwdEm); doc.SaveFile(pFilename); return 0;}
XMLLocalConfig XmlLocalConfig;QString strXmlPath;strXmlPath = QString("%1\\%2\\%3").arg(QDir::currentPath()).arg("UserData").arg(XML_LOCALCONFIG);strXmlPath = QDir::toNativeSeparators(strXmlPath);QByteArray byte = strXmlPath.toUtf8();XmlLocalConfig.LoadFile(byte.data());m_loginInfo = XmlLocalConfig.m_loginInfo;保存操作
XMLLocalConfig XmlLocalConfig;QString strXmlPath;strXmlPath = QString("%1\\%2\\%3").arg(QDir::currentPath()).arg("UserData").arg(XML_LOCALCONFIG);strXmlPath = QDir::toNativeSeparators(strXmlPath);QByteArray byte = strXmlPath.toUtf8();m_loginInfo.strUserName = ui.m_lineEditUserName->text().toUtf8().data();m_loginInfo.strPassword = ui.m_lineEditPwd->text().toUtf8().data();m_loginInfo.strIP = ui.m_lineEditAddress->text().toUtf8().data();m_loginInfo.nPort = ui.m_linEditPort->text().toInt();m_loginInfo.bRemPwd = ui.cbMemorizePwd->isChecked();XmlLocalConfig.m_loginInfo = m_loginInfo;XmlLocalConfig.SaveFile(byte.data());
转载地址:http://cvqxi.baihongyu.com/