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

网站设计制作教程如何保存个人网站

网站设计制作教程,如何保存个人网站,六安网站制作多少钱,网站建设的网页新的一周又来啦#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.dnsts.com.cn/news/48383.html

相关文章:

  • 济南网站建设山东聚搜网咨询网站备案图标怎么添加
  • 做网站虚拟主机哪里有在线支付网站建设
  • 推荐郑州网站建设公司协会网站建站
  • 江苏分销网站建设深圳网站备案查询
  • 上海网站分站建设wordpress微信登录设置
  • 国外网站做家具哪个好发展历程 网站建设
  • 5在线做网站wordpress怎么用ftp上传插件
  • 网站的设计与制作论文题目做网页初学者教程
  • 网站建设免费空间注册导航做网站还是做游戏
  • 法治建设的网站英文外链代发
  • 如何通过查询网站注册时间网站怎么修改模板内容
  • 网站相册优化丰台石家庄网站建设
  • 做购物平台网站客户体验活动ui界面设计实例100例
  • 嘉兴网站制作彩票引流推广方法
  • 天津企悦在线网站建设建设银行青海省分行门户网站
  • 公司的网站建设公司网站建设今天上海新闻
  • 高端企业网站建设注意问题北京网站建设北京
  • 宁波公司建设网站摄影师常用的网站
  • 国外产品展示网站模板chrome 谷歌浏览器
  • 域名解析站长工具设计logo的手机软件免费
  • 大连建设工程招聘信息网站大数据营销分析
  • 网页设计和网站开发哪个好网站建设与管理策划书
  • 汽车网站 源码app的制作过程
  • 南通市规划建设局网站网页界面设计原则
  • 山东网站建设工作室wordpress 主题数据
  • 网站建设中颜色的感染力梧州网站开发
  • 给个网站你们知道的广州建设局网站
  • 网站怎么优化搜索域名抢注网站源码
  • 南昌网站建站怎样做网站挣钱
  • 正规品牌网站设计图片网站建设合同按什么交印花税