c++生成和解析XML文件的讲解

  

<强>概述

  
      <李> 1。xml指可扩展标记语言(可扩展标记语言)   <李> 2。xml是一种标记语言,类似html   <李> 3。xml的设计宗旨是传输数据,而非显示数据李   <李> 4。xml标签没有被预定义。需要自行定义标签   
  

<强> XML与HTML区别

  
      <李> 1。xml不是html的替代。   <李> 2。xml和html为不同的目的而设计:李   <李> 3。xml被设计为传输和存储数据,其焦点是数据的内容。   <李> 4。html被设计用来显示数据,其焦点是数据的外观。   <李> 5。html旨在显示信息,而xml旨在传输信息。   
  

<强>第三方库

  

XML第三方解析库,选用TinyXML, TinyXML也是一个开源的解析XML解析库,使用简单正如其名,用于c++开发,支持Windows和Linux.TinyXML通过DOM模型遍历和分析XML。

  

官网地址:http://www.grinninglizard.com/tinyxml/

  

<强>生成XML文件

        TiXmlDocument xmlDocument;//添加XML声明   xmlDocument。LinkEndChild(新TiXmlDeclaration (“1.0”,“GBK”, " "));//添加根元素   TiXmlElement * xmlRoot=new TiXmlElement(“根”);   xmlDocument.LinkEndChild (xmlRoot);//根元素下添加子元素1   TiXmlElement * xmlChild1=new TiXmlElement(“名字”);   xmlRoot→LinkEndChild (xmlChild1);   xmlChild1→LinkEndChild(新TiXmlText (woniu "));   xmlChild1→SetAttribute (" id ", " 0001 ");//设置属性//根元素下添加子元素2   TiXmlElement * xmlChild2=new TiXmlElement(“学生”);   xmlRoot→LinkEndChild (xmlChild2);   TiXmlElement * xmlChild2_01=new TiXmlElement(“名字”);   xmlChild2→LinkEndChild (xmlChild2_01);   xmlChild2_01→LinkEndChild(新TiXmlText (woniu201 "));   TiXmlElement * xmlChild2_02=new TiXmlElement(“类”);   xmlChild2→LinkEndChild (xmlChild2_02);   xmlChild2_02→LinkEndChild(新TiXmlText (" 86 "));//保存xml文件   xmlDocument.SaveFile (“woniu.xml”);      

<强>生成XML如下:

  

 C + +生成和解析XML文件的讲解

  

<>强解析XML文件

        TiXmlDocument xmlDocument;   如果(! xmlDocument.LoadFile (“woniu.xml”))   {   返回1;   }//根节点   TiXmlElement * xmlRoot=xmlDocument.RootElement ();   如果(xmlRoot==NULL)   {   返回1;   }//获取子节点信息1   TiXmlElement * xmlNode1Name=xmlRoot→FirstChildElement(“名字”);   const char * node1Name=xmlNode1Name→GetText ();   const char * node1AttId=xmlNode1Name→属性(" id ");//获取子节点信息2   TiXmlElement * xmlNode2Stu=xmlRoot→FirstChildElement(“学生”);   TiXmlElement * xmlNode2_name=xmlNode2Stu→FirstChildElement(“名字”);   TiXmlElement * xmlname2_classes=xmlNode2Stu→FirstChildElement(“类”);   const char * node2Name=xmlNode2_name→GetText ();   const char * node2Classes=xmlname2_classes→GetText ();      

<强>总结

  

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

c++生成和解析XML文件的讲解