Vue框架依靠以下几个关键因素:1、双向数据绑定、2、组件化开发、3、虚拟DOM、4、指令系统、5、渐进式架构。这些特征使得Vue成为一个高效、灵活且易......
2024-11-15 105
C 如何使用tinyxml库读取XML文件呢?接下来小编就为大家分享一下C 是如何使用tinyxml库读取XML文件的。
下载tinyxml库,这里使用的是tinyxml2_6_2版本。
解压tinyxml2_6_2,然后在该目录下找到这六个文件。
把这六个文件放在你新建工程main.cpp目录下
然后把这六个文件导入vs2013编译器中
新建task3.cpp文件
把#include"tinystr.h"和#include"tinyxml.h"这两个头文件添加进去
把测试代码写入task3.cpp中。
测试代码如下:
#include"tinystr.h"
#include"tinyxml.h"
#includeiostream>
using namespace std;
#define SUCCESS 1
#define FAILED 0
int loadXml();
int main()
{
if (loadXml())
{
getchar(); return 1;
}
getchar();
return 0;
}
int loadXml()
{
//创建两个个xml文档对象,一个为读取,一个为输出
TiXmlDocument *inXml = new TiXmlDocument();
TiXmlDocument *outXml = new TiXmlDocument();
//加载xml文件
if (!inXml->LoadFile("a.xml")) //判断XML文件是否加载成功
{
cerr inXml->ErrorDesc() endl;
return 0;
}
//定义根节点,记录xml文件的起始节点
TiXmlElement *inRoot = inXml->FirstChildElement(); //root指向xml文档的第一个节点
inXml->Value();//获取的值为文件名
//定义根节点并连接,将输入的根节点传给输出的根节点
TiXmlElement *outRoot = new TiXmlElement(inRoot->Value());
outXml->LinkEndChild(outRoot);
if (NULL == inRoot) //判断文件是否有内容
{
cerr "No root element !!!" endl;
inXml->Clear();
return 0;
}
//循环遍历每个节点
for (TiXmlElement *inElem = inRoot->FirstChildElement(); inElem != NULL; inElem = inElem->NextSiblingElement())
{
TiXmlElement *outElem = new TiXmlElement(inElem->Value());
outRoot->LinkEndChild(outElem);
const char *name = inElem->Value();//获取源文件中子节点的名字
outElem->SetValue(name); //设置目的文件子节点的名字
//获取源文件的属性,设置目标文件的属性
const char *rName = inElem->Attribute("name");
outElem->SetAttribute("name", rName);
const char *rType = inElem->Attribute("type");
outElem->SetAttribute("type", rType);
const char *rSize = inElem->Attribute("size");
outElem->SetAttribute("size", rSize);
const char *rOdd = inElem->Attribute("odd");
outElem->SetAttribute("odd", rOdd);
if (strcmp(name, "0"))//name值是否为空
{
for (TiXmlElement *inChild = inElem->FirstChildElement(); inChild != NULL; inChild = inChild->NextSiblingElement())
{
TiXmlElement *outChild = new TiXmlElement(inChild->Value());
outElem->LinkEndChild(outChild);
const char *cName = inChild->Attribute("name");
outChild->SetAttribute("name", cName);
const char *cType = inChild->Attribute("type");
outChild->SetAttribute("type", cType);
const char *cRatio = inChild->Attribute("ratio");
outChild->SetAttribute("ratio", cRatio);
const char *cLink = inChild->Attribute("link");
outChild->SetAttribute("link", cLink);
}
}
}
outXml->SaveFile("b.xml");
inXml->Clear();
outXml->Clear();
return true;
}
在该目录下新建两个xml文件,测试代码的实现功能是:将一个xml文件中的内容复制到另一个xml文件中。然后编译运行即可。
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
标签: 编程语言
相关文章
Vue框架依靠以下几个关键因素:1、双向数据绑定、2、组件化开发、3、虚拟DOM、4、指令系统、5、渐进式架构。这些特征使得Vue成为一个高效、灵活且易......
2024-11-15 105
Vue.js 是一个流行的前端框架,普遍用于构建用户界面和单页面应用(SPA)。1、Vue 可以用于创建动态网页和交互式用户界面;2、Vue 可以用于开发单页面应用......
2024-11-15 20
在Vue文件中,通常会装载以下几种内容:1、模板(Template),2、脚本(Script),3、样式(Style)。模板定义了组件的结构和布局,脚本包含组件的逻辑和数据处理,样式用......
2024-11-15 93