《c++解析xml文件(增删改查)看完必会》
遍历xml所有节点下的数据已经在上一篇文章末尾写道,写法大同小异,资源下载也在上一篇提到, 这里就不再提及,这篇博客主要是对上一篇基础知识的运用,如有疑问,可以call我
XML解析类
#include <iostream>
#include <string>
#include <string.h>
#include "tinystr.h"
#include "tinyxml.h"
usingnamespace std;
classanl_Xml
{
public:
char* m_Filename;
TiXmlDocument xmlDocument;
anl_Xml(string filename)
{
m_Filename =&filename[0];
init();
}
void init()
{
if(!xmlDocument.LoadFile(m_Filename))// 需要解析的xml文件
{
cout <<"未找到文件"<< endl;
}
else
{
cout <<"成功!!"<< endl;
}
}
bool display_xml(const char* node_name, const char* data_name);// 指定节点 下的指定数据打印输出
bool insert_xml(const char* node_name, const char* data_name[]);// 指定节点下添加一条数据
bool del_xml(const char* node_name, const char* data_name);// 指定节点下删除 指定数据
bool update_xml(const char* node_name,const char* update_name, const char* data_name[]);// 指定节点和数据,进行修改
};
int main()
{
anl_Xml xml("D:/visual_2019_project/Project7/new.xml");
//xml.display_xml("rtdb","HmiLoopCount");
//const char* data_name[5] = {"new","long","8","0","新添加"};
//xml.insert_xml("rtdb", data_name);
//xml.del_xml("rtdb", "new");
constchar* data_name[5]={"new-1","int","3","0","修改的"};
xml.update_xml("rtdb",