如何用tinyxml 库创建并读写xml代码截取
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,本篇文章给大家分享的是有关如何用tinyxml 库创建并读写xml代码截取,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。因为自己每次写完
千家信息网最后更新 2025年11月08日如何用tinyxml 库创建并读写xml代码截取
本篇文章给大家分享的是有关如何用tinyxml 库创建并读写xml代码截取,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
因为自己每次写完之后都忘记了 然后又要从别的地方学习再重新写 还不如记录再这里//创建 TiXmlDocument *pXmlDocument = new TiXmlDocument(m_strFilePath.c_str());// TiXmlDeclaration *pDeclaretion = new TiXmlDeclaration("1.0", "UTF-8","");//创建xml声明 pXmlDocument->LinkEndChild(pDeclaretion); TiXmlElement *pXmlElement = new TiXmlElement("Symbol"); pXmlDocument->LinkEndChild(pXmlElement); pXmlDocument->SaveFile(m_strFilePath.c_str());//读TiXmlDocument *pXmlDoc = new TiXmlDocument(); pXmlDoc->LoadFile(strFilePath.c_str()); TiXmlElement *pRootElement = pXmlDoc->RootElement(); if (pRootElement == NULL) { return; } // 第一个子节点 TiXmlElement *pSignNode = pRootElement->FirstChildElement("sign"); if (!pSignNode) { SAFE_DELETE(pSignNode); return; } while (pSignNode != NULL) { CMapSingleParameter *pMapSingleParameter = new CMapSingleParameter(); if (!pMapSingleParameter) { SAFE_DELETE(pMapSingleParameter); return ; } // text TCHAR tcharValue[MAX_PATH * 4] = {_T('\0')}; // name const CHAR *pszName = pSignNode->Attribute("name"); if (pszName != NULL) { CommonUtil::UTF8ToTCHAR(pszName,tcharValue); pMapSingleParameter->AppendParameter(_T("name"), tcharValue); } // height const CHAR *pszHeight = pSignNode->Attribute("height"); if (pszHeight != NULL) { CommonUtil::UTF8ToTCHAR(pszHeight,tcharValue); pMapSingleParameter->AppendParameter(_T("height"), tcharValue); } //Content const CHAR *pszContent = pSignNode->GetText(); if (pszContent != NULL) { CommonUtil::UTF8ToTCHAR(pszContent,tcharValue); pMapSingleParameter->AppendParameter(_T("content"), tcharValue); } m_pLatelyVectorSymbol->push_back(pMapSingleParameter); pSignNode = pSignNode->NextSiblingElement(); } //写string strFile = m_strFilePath; //创建文档对象 TiXmlDocument myXmlDocument; //加载文件数据 myXmlDocument.LoadFile(strFile.c_str()); TiXmlElement *pRootElement = myXmlDocument.RootElement(); if (pRootElement == NULL) { return ; } if (pRootElement != NULL) { TiXmlElement *pFirstNode = pRootElement->FirstChildElement("sign"); if (pFirstNode == NULL) { int nSignPos = 0; for (TVectorSymbol::iterator ite = m_pLatelyVectorSymbol->begin(); ite != m_pLatelyVectorSymbol->end(); ++ite) { CMapSingleParameter *pMapSingleParameter = *ite; TiXmlElement *insertElement = new TiXmlElement("sign"); pRootElement->LinkEndChild(insertElement); xstring strUnicode = pMapSingleParameter->GetParameterValue(_T("name")); TCHAR tcharValue[MAX_PATH*4]= {_T('\0')}; _tcscpy(tcharValue, strUnicode.c_str()); char chUtf8[MAX_PATH*4] = {'\0'}; CommonUtil::TCHARToUTF8(tcharValue, chUtf8); insertElement->SetAttribute("name",chUtf8); strUnicode = pMapSingleParameter->GetParameterValue(_T("height")); _tcscpy(tcharValue, strUnicode.c_str()); CommonUtil::TCHARToUTF8(tcharValue, chUtf8); insertElement->SetAttribute("height",chUtf8); strUnicode = pMapSingleParameter->GetParameterValue(_T("content")); _tcscpy(tcharValue, strUnicode.c_str()); CommonUtil::TCHARToUTF8(tcharValue, chUtf8); TiXmlText *pXmlText = new TiXmlText(chUtf8); pXmlText->SetCDATA(true);//添加格式化 insertElement->LinkEndChild(pXmlText); m_nLatelyTotal ++; } } } myXmlDocument.SaveFile(strFile.c_str());}//删除节点 string strFile = m_strFilePath; //创建文档对象 TiXmlDocument myXmlDocument; //加载文件数据 myXmlDocument.LoadFile(strFile.c_str()); TiXmlElement *pRootElement = myXmlDocument.RootElement(); if (pRootElement == NULL) { return ; } TiXmlElement *pSignNode = pRootElement->FirstChildElement("sign"); while (pSignNode != NULL) { m_nLatelyTotal --; TiXmlElement *pSignRemoveNode = pSignNode; pSignNode= pSignNode->NextSiblingElement("sign"); pRootElement->RemoveChild(pSignRemoveNode); } myXmlDocument.SaveFile(strFile.c_str());以上就是如何用tinyxml 库创建并读写xml代码截取,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
代码
对象
数据
文件
文档
更多
知识
篇文章
节点
学习
实用
个子
地方
就是
工作会
文章
格式
看吧
知识点
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
全密闭服务器配液冷
.net 游戏服务器
财务软件开发质量手册
武汉dell服务器定制
计算机二级mysql数据库答题
昆明网络技术服务公司
idvr服务器下载
网络安全应该怎么发展
服务器上的安全软件有哪些
安徽智能软件开发项目信息
网络安全是哪个etf
网络安全测试论文
软件开发需求分析步骤详解
金融软件开发 自我评价
软件开发的产品生产怎么写
雷霆软件开发
中职校网络技术专业报告
软件开发的好做吗
如何制作统计软件开发
电商平台app软件开发价格
网络安全互助联盟
论文 数据库 免费
社交网络 数据库
山西java软件开发视频
软件开发定制公司哪家强
软件开发一年还是初级岗好
java软件开发学前端还是后端
如何在服务器启动数据库
服务器账户管理规范
网络安全打法征文