当前位置: 首页 > news >正文

建设网站需要具备什么条件安康市建设银行网站

建设网站需要具备什么条件,安康市建设银行网站,免费做logo设计的网站,2019做网站的出路新的一周又来啦#xff0c;这周我要分享的是使用C库解析XML文件和JSON文件#xff0c;在本篇博客中我主要讲解析XML文件的相关知识#xff0c;在下篇博客讲述有关解析JSON文件的相关。在解析XML文件时我使用的解析库是tinyXML2,编译平台是VS2019。希望看完本篇博客能对你有所…新的一周又来啦这周我要分享的是使用C库解析XML文件和JSON文件在本篇博客中我主要讲解析XML文件的相关知识在下篇博客讲述有关解析JSON文件的相关。在解析XML文件时我使用的解析库是tinyXML2,编译平台是VS2019。希望看完本篇博客能对你有所帮助。 XML文件简介 在学习解析XML文件之前我们应该先了解什么是XML文件。 XML文件是什么 XML 指可扩展标记语言eXtensible Markup Language设计用来传输和存储数据。 XML的设计宗旨是传输数据而不是显示数据。XML 标签没有被预定义。您需要自行定义标签。XML 被设计为具有自我描述性。 XML的用途 XML 把数据从 HTML 分离XML 简化数据共享XML 简化数据传输XML 简化平台变更XML 使您的数据更有用XML 用于创建新的互联网语言 XML文件语法 XML文件的语法规则很简单主要包括以下几点 XML 文档必须有根元素 XML 必须包含根元素它是所有其他元素的父元素如以下实例中 root 就是根元素 rootchildsubchild...../subchild/child /rootXML 声明 XML 声明文件的可选部分如果存在需要放在文档的第一行如下所示 ?xml version1.0 encodingutf-8?所有的 XML 元素都必须有一个关闭标签但声明可以没有关闭标签 pThis is a paragraph./pXML 标签对大小写敏感 XML 标签对大小写敏感。标签 与标签 是不同的。必须使用相同的大小写来编写打开标签和关闭标签 Message这是错误的/message message这是正确的/messageXML 必须正确嵌套 biThis text is bold and italic/i/bXML 属性值必须加引号 note date12/11/2007 toTove/to fromJani/from /notenote date12/11/2007 toTove/to fromJani/from /note在上面两个XML文档中第一个是错误的第二个是正确的。 您如需了解更多关于XML文件的相关信息可以到菜鸟教程学习相关知识。 在上面我介绍XML文件相关知识也都参考了该网站有关知识介绍的都很全。 TinyXML2库及配置 在了解完XML文件的相关知识后我们就可以开始进行XML文件的解析工作了。我们可以利用现成开源的库来帮助我们解析XML文件目前比较好用的库就是TinyXML2,只有两个文件分别是.h文件和.cpp文件。TinyXML2相关的库可以再网上很容易下到也可以到我的github下载相关的库文件网址如下TinyXML2文件库下载 这个库里面也有两个相关的例子。 把库下好之后就可以进行配置了TinyXML2配置相比于JSONCPP容易很多就只有两步 把库文件导入到项目工程中。如图所示 2.在代码头文件中引入头文件和命名空间 #include tinyxml2.h using namespace tinyxml2;创建XML文件 配置好库之后就可以依赖库创建XML文件了先贴代码 void createCodeXml() {XMLDocument xml;//插入声明XMLDeclaration* declaration xml.NewDeclaration();xml.InsertFirstChild(declaration);//插入根节点XMLElement* rootNode xml.NewElement(wang);xml.InsertEndChild(rootNode);//新建一个name节点XMLElement* root_1_name xml.NewElement(name);//新建name节点的文本wangqinghe//XMLText* text_1_name xml.NewText(wangqinghe);把文本与name节点链接起来//root_1_name-InsertFirstChild(text_1_name);//新建一个age节点XMLElement* root_1_age xml.NewElement(age);XMLText* text_1_age xml.NewText(18);root_1_age-SetAttribute(age, secret);root_1_age-InsertFirstChild(text_1_age);//创建name节点的子节点XMLElement* root_2_gender xml.NewElement(gender);XMLText* text_2_gender xml.NewText(man);root_2_gender-InsertFirstChild(text_2_gender);//将gender节点变为name节点的子节点root_1_name-InsertEndChild(root_2_gender);//链接name节点与根节点rootNode-InsertEndChild(root_1_name);rootNode-InsertEndChild(root_1_age);xml.SaveFile(wang.xml); }首先构造一个XML文档 XMLDocument xml;插入声明 //插入声明XMLDeclaration* declaration xml.NewDeclaration();xml.InsertFirstChild(declaration);插入声明后先插入一个根节点“wang” //插入根节点XMLElement* rootNode xml.NewElement(wang);xml.InsertEndChild(rootNode);新建一个name节点 XMLElement* root_1_name xml.NewElement(name);创建name节点的子节点“gender”文本内容为“man”,此时两者还没关系。 XMLElement* root_2_gender xml.NewElement(gender);XMLText* text_2_gender xml.NewText(man);root_2_gender-InsertFirstChild(text_2_gender);把节点“gender”设置为节点“name”的子节点 root_1_name-InsertEndChild(root_2_gender);新建一个age 节点文本内容为18 XMLElement* root_1_age xml.NewElement(age); XMLText* text_1_age xml.NewText(18); root_1_age-SetAttribute(age, secret); root_1_age-InsertFirstChild(text_1_age);把name节点和age节点设置为根节点的子节点到此所有的节点都连接完毕 rootNode-InsertEndChild(root_1_name); rootNode-InsertEndChild(root_1_age);最后保存文件文件名为wang.xml: xml.SaveFile(wang.xml);至此就已经创建好一个简单的xml文件了文件内容如下 ?xml version1.0 encodingUTF-8? wangnamegenderman/gender/nameage agesecret18/age /wang xml文件创建完毕。 解析XML文件 创建完XML文件之后我们就可以根据XML的文件格式来解析对应的XML文件。先放代码 void decodeXml() {//声明XMLDocument xml;//导入xml文件if (xml.LoadFile(wang.xml) ! XML_SUCCESS){return;}//判断头文件是否为空XMLElement* rootNode xml.RootElement();if (rootNode NULL){return;}//读取第一层信息XMLElement* root_1_name rootNode-FirstChildElement(name);//读取第二层信息XMLElement* root_2_gender root_1_name-FirstChildElement(gender);//信息输出string text_gender root_2_gender-GetText();cout gender: text_gender endl;//读取第一层信息XMLElement* root_1_age rootNode-FirstChildElement(age);const XMLAttribute* att_1_age root_1_age-FirstAttribute();cout att_1_age-Name() : att_1_age-Value() endl;string text_age root_1_age-GetText();cout age: text_age endl; }读取信息的代码比较简单通过注释应该能轻易理解读取的文件就是我们上面生成的XML文件。 总的代码如下 #include iostream #includetinyxml2.h using namespace std; using namespace tinyxml2; void example2() {XMLDocument doc;doc.LoadFile(test.xml);XMLElement* scene doc.RootElement();XMLElement* surface scene-FirstChildElement(node);while (surface){XMLElement* surfaceChild surface-FirstChildElement();const char* content;const XMLAttribute* attributeOfSurface surface-FirstAttribute();cout attributeOfSurface-Name() : attributeOfSurface-Value() endl;while (surfaceChild){content surfaceChild-GetText();surfaceChild surfaceChild-NextSiblingElement();cout content endl;}surface surface-NextSiblingElement();} } int main() {example2();return 0; }另一种解析XML文件的代码 首先是要解析的文件 ?xml version1.0 encodingUTF-8? scene nameDepthnode typecameraeye0 10 10/eyefront0 0 -1/frontrefUp0 1 0/refUpfov90/fov/nodenode typeSpherecenter0 10 -10/centerradius10/radius/nodenode typePlanedirection0 10 -10/directiondistance10/distance/node /scene对应代码 #include iostream #includetinyxml2.h using namespace std; using namespace tinyxml2; void example2() {XMLDocument doc;doc.LoadFile(test.xml);XMLElement* scene doc.RootElement();XMLElement* surface scene-FirstChildElement(node);while (surface){XMLElement* surfaceChild surface-FirstChildElement();const char* content;const XMLAttribute* attributeOfSurface surface-FirstAttribute();cout attributeOfSurface-Name() : attributeOfSurface-Value() endl;while (surfaceChild){content surfaceChild-GetText();surfaceChild surfaceChild-NextSiblingElement();cout content endl;}surface surface-NextSiblingElement();} } int main() {example2();return 0; }xml格式数据转为无空格和换行符字符串 XMLPrinter printer;xml.Accept(printer); // 将Print打印到Xmlprint类中 即保存在内存中const char *xmlString printer.CStr();return xmlString;代码下载 相关的代码下载
http://www.hkea.cn/news/14318862/

相关文章:

  • 做网站的环境配置百度云网站建设视频
  • 昆明 网站推广有什么软件做短视频网站好
  • 企业站网页制作实训步骤南阳网(网站).
  • 保定建设网站东莞外贸企业名单
  • ps网站页面设计教程网站的备案
  • 怎么做商业服务网站深圳手工活外发加工网
  • 常州网络公司网站上海电子商务网站
  • 建设金融行业网站wordpress评论不准设置网站
  • 什么是商业网站emlog怎么转换到WordPress
  • 朔州城市建设网站搜索引擎优化的目的是对用户友好
  • 中山市网站建设哪家好网络平台宣传方式有哪些
  • 网站开发需要什么软件电子商务公司营业执照经营范围
  • 永安市住房与城乡建设局网站河北邢台出大事啦
  • 新站快速收录技术班级网站做哪些方面
  • 网站建设人员春招计划的网站建立
  • 花都建设网站uc浏览器免费下载
  • 深圳 建设工程招标有限公司网站做网站什么笔记本好用
  • 网站导航广告怎么做wordpress 标签搜索
  • 卖网站模板赚钱吗微信网站平台建设
  • 济宁建设企业网站网站建设找什么工作室
  • 亿唐微方网站建设网站左悬浮代码
  • 珠海电商网站制作论文格式样板模板
  • 专业的公司网站设计服务抖音关键词搜索排名收费
  • 网站开发文档模板 开源网页设计与网站开发经济可行性
  • 怎么选择一个好的友情链接网站万网是做什么的
  • 搭建源码下载站网站数字今天科技 网站
  • 做网站及APPwordpress编辑器移植
  • 网站投票活动怎么做seo怎么优化网站
  • 网站建设 上海网站建山西格泰网站建设
  • 云南微网站制作哪家好wordpress多个函数文件路径