zoukankan      html  css  js  c++  java
  • TinyXml2 的使用

    晚上研究了下 TinyXml-2,因为马上要用到它。网上搜了一些资料后,感觉很少有比较实用的描述。所以写这篇文章只为总结下 TinyXml-2 从编译到一个非常简单的样例运行。

    编译及使用

    我用的是 TinyXml-2.6.2,下载地址:http://sourceforge.net/projects/tinyxml/,下载以后,其默认是用 VS2010 打开的。如图:

    2014-09-07_215424

    可以看到,总共有四个项目,其中下面两个是无用的,如其名字所述(…Test…),仅仅为了测试。上面两个项目编译出来的区别就是是否支持STL。选择“生成->批生成->全选->生成”,如此会对这四个项目全部生成(Release版和Debug版都有)。生成时,可能会有报错,不过放心,仔细看的话会发现全部都是 xmltest.cpp 这个文件中的错误,你用不到它,无需关心。

    有些人可能会问,没有 VS2010 怎么办?很简单,比 2010 版本高的,打开时 直接 update 即可。比 2010 低的版本 稍微麻烦点。我以 VS2008 为例。新建一个 Win32 控制台应用程序,在应用向导中选择 空项目+静态库,将如图中的6个文件添加到项目中。

    2

    编译时会报“fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “stdafx.h””?”,很简单,按照提示,在对应的文件一一加上即可,重新编译生成,即可得到 .lib 文件。

    那我们如何在项目中如何使用 TinyXml-2 呢?我尝试且成功了两种方法是:一种方法是将上图中的两个 .h 文件(主要是tinyxml.h)和生成的 .lib 文件复制到你的工程目录(和其他 .cpp 文件在一起),将头文件添加到项目,在需要使用TinyXml-2 的地方包含这两个头文件并链接库文件(添加如下代码):

    另一种方法就是不用生成的库,直接把上图中的六个文件复制并添加到项目中,也可以。

    例程

    下面再奉上我看到的一个相当简单的例子,可以向你展示 TinyXml-2 中很简单的一些操作。让你很快对其能有所认识。

    运行结果:

    3

    是不是很好理解?!^^

    TinyXml-2 的结构(引自自带文档)

    classTiXmlBase
    TiXmlBase 是所有类的基类,TiXmlNode、TiXmlAttribute两个类都继承来自 TiXmlBase 类,其中 TiXmlNode 类指的是所有被<…>…<…/>包括的内容,而xml中的节点又具体分为以下几方面内容,分别是声明、注释、节点以及节点间的文本,因此在 TiXmlNode 的基础上又衍生出这几个类 TiXmlComment、TiXmlDeclaration、TiXmlDocument、TiXmlElement、TiXmlText、TiXmlUnknown,分别用来指明具体是 xml 中的哪一部分。TiXmlAttribute 类不同于 TiXmlNode,它指的是在尖括号里面的内容,像<… ***=…>,其中***就是一个属性。这块我具体用一个xml文档说明一下,内容如下:

    Xml代码:

    TiXmlDeclaration 指的是<?xml version=”1.0″ encoding=”UTF-8″?>,

    TiXmlComment 指的是<!–one item behalfs one contacted person.–>、 <!–more contacted persons.–>,

    TiXmlDocument 指的是整个xml文档,

    TiXmlElement 指的是<phonebook>、<item>、<name>、<addr>等等这些节点,

    TiXmlText 指的是‘gougou’、‘15840330481’这些夹在<item>与</item>、<name>与</name>、<addr>与</addr>之间的文本文字,

    TiXmlAttribute 指的是<?xml version=”1.0″ encoding=”UTF-8″?>节点中version、encoding,

    除此之外就是 TiXmlUnknown。

  • 相关阅读:
    Linux学习之二——档案与目录的属性和权限
    Linux学习之一——开机必备知识
    阿里云实战之二(mysql+phpmyadmin)
    阿里云实战之一(必备程序安装)
    简要揭秘在线代码编辑器
    磕磕碰碰的Chrome之plugin开发
    Oracle导出的sql执行出错
    Spring学习(八)
    Spring学习(七)
    Spring学习(六)
  • 原文地址:https://www.cnblogs.com/lpxblog/p/5643586.html
Copyright © 2011-2022 走看看