什么是XML
使用TINYXML
下载解压后可以用VS2010默认打开,可以看到作者已经为我们写好了相关的demo,里面写的很具体,有时间的话可以好好学习下,这里我主要介绍怎么简单的使用tinyxml。
解压后拷贝如下6个文件到您的项目文件下:
tinyxml.cpp,
tinyxml.h,
tinyxmlerror.cpp,
tinyxmlparser.cpp,
tinystr.cpp,
tinystr.h
要配合VS2010使用,我们还要做一些简单的操作,在上面拷贝的CPP文件中,加入#include "stdafx"(做到这一步我们就可以编译看看是否有错误,我编译的时候有点小问题,把
#include "stdafx"放到包含对应头文件的前面就好了,不知道怎么回事)。
然后在我们要调用tinyxml类的文件中包含tinyxml.h tinystr.h两个头文件就可以了。
相关文档
TinyXML集合的类结构继承关系
可先大致瞄一眼被命名为TinyXML的类结构,供以后不时之需。
[2]类作用
调用这些类的成员函数就就可以创建指定名的XML文件,在XML文件中生成结点,然后指定每个结点的属性,所以根据上图的类结构简单的描述一下每个类的大体作用。
类名 描述 TiXmlBase: 是TinyXML中的基类,它的功能很少,只包含打印功能和一些工具函数。主要的结点类型还在文档和声明类中。 TiXmlAttribute: 继承于TiXmlBase类,实现名“字-值”对。 TiXmlNode: 是整个XML文档对象的父类。文档、声明类及其它类都是结点。 TiXmlComment: 用于在XML文件中的注释。 TiXmlDeclaration: 在XML文件中的第一行内容由此类指定。 TiXmlDocument: 时常是XML的第一个结点。它可以绑定XMLL中的其它结点,它可以被保存、载入及被打印到屏幕之上。一个文档类的值就是XML的文件名。 TiXmlElement: 这是一个容器类。它包含值、元素名,还可以包含其它的元素、文本、注释及其它内容。一个元素对象内可以包含任意个其它的元素。 TiXmlText: 用来实现在XML文件中的文本。 TiXmlUnknown: 实现收集XML不认识的东西。
3 使用TinyXML
void CMVHDlg::createXML()
{
TiXmlDocument *pDoc = new TiXmlDocument;
if(!pDoc)
return;
TiXmlDeclaration *pDec = new TiXmlDeclaration("1.0", "UTF-8", "");
if(!pDec)
return;
pDoc->LinkEndChild(pDec);
TiXmlElement *pNoderoot = new TiXmlElement("config");
if(!pNoderoot)
return;
TiXmlElement *pNode1 = new TiXmlElement("name");
TiXmlText *text1 = new TiXmlText("jamy");
pNode1->LinkEndChild(text1);
pNode1->SetAttribute("country", "china");
pNoderoot->LinkEndChild(pNode1);
pDoc->LinkEndChild(pNoderoot);
pDoc->SaveFile("jamy.xml");
}
最后生成的xml文档如下:
<?xml version="1.0" encoding="UTF-8" ?>
<config>
<name conoury="china">jamy</name>
</config>
这里只是简单的介绍怎样在VS2010中使用tinyxml,第一次写这个,当然有很多是百度的啦,不喜勿喷噢~~~~
什么是XML
使用TINYXML
下载解压后可以用VS2010默认打开,可以看到作者已经为我们写好了相关的demo,里面写的很具体,有时间的话可以好好学习下,这里我主要介绍怎么简单的使用tinyxml。
解压后拷贝如下6个文件到您的项目文件下:
tinyxml.cpp,
tinyxml.h,
tinyxmlerror.cpp,
tinyxmlparser.cpp,
tinystr.cpp,
tinystr.h
要配合VS2010使用,我们还要做一些简单的操作,在上面拷贝的CPP文件中,加入#include "stdafx"(做到这一步我们就可以编译看看是否有错误,我编译的时候有点小问题,把 #include "stdafx"放到包含对应头文件的前面就好了,不知道怎么回事)。
然后在我们要调用tinyxml类的文件中包含tinyxml.h tinystr.h两个头文件就可以了。
相关文档
TinyXML集合的类结构继承关系
可先大致瞄一眼被命名为TinyXML的类结构,供以后不时之需。
[2]类作用
调用这些类的成员函数就就可以创建指定名的XML文件,在XML文件中生成结点,然后指定每个结点的属性,所以根据上图的类结构简单的描述一下每个类的大体作用。
类名 | 描述 |
TiXmlBase: | 是TinyXML中的基类,它的功能很少,只包含打印功能和一些工具函数。主要的结点类型还在文档和声明类中。 |
TiXmlAttribute: | 继承于TiXmlBase类,实现名“字-值”对。 |
TiXmlNode: | 是整个XML文档对象的父类。文档、声明类及其它类都是结点。 |
TiXmlComment: | 用于在XML文件中的注释。 |
TiXmlDeclaration: | 在XML文件中的第一行内容由此类指定。 |
TiXmlDocument: | 时常是XML的第一个结点。它可以绑定XMLL中的其它结点,它可以被保存、载入及被打印到屏幕之上。一个文档类的值就是XML的文件名。 |
TiXmlElement: | 这是一个容器类。它包含值、元素名,还可以包含其它的元素、文本、注释及其它内容。一个元素对象内可以包含任意个其它的元素。 |
TiXmlText: | 用来实现在XML文件中的文本。 |
TiXmlUnknown: | 实现收集XML不认识的东西。 |
3 使用TinyXML
void CMVHDlg::createXML()
{
TiXmlDocument *pDoc = new TiXmlDocument;
if(!pDoc)
return;
TiXmlDeclaration *pDec = new TiXmlDeclaration("1.0", "UTF-8", "");
if(!pDec)
return;
pDoc->LinkEndChild(pDec);
TiXmlElement *pNoderoot = new TiXmlElement("config");
if(!pNoderoot)
return;
TiXmlElement *pNode1 = new TiXmlElement("name");
TiXmlText *text1 = new TiXmlText("jamy");
pNode1->LinkEndChild(text1);
pNode1->SetAttribute("country", "china");
pNoderoot->LinkEndChild(pNode1);
pDoc->LinkEndChild(pNoderoot);
pDoc->SaveFile("jamy.xml");
}
最后生成的xml文档如下:
void CMVHDlg::createXML()
{
TiXmlDocument *pDoc = new TiXmlDocument;
if(!pDoc)
return;
TiXmlDeclaration *pDec = new TiXmlDeclaration("1.0", "UTF-8", "");
if(!pDec)
return;
pDoc->LinkEndChild(pDec);
TiXmlElement *pNoderoot = new TiXmlElement("config");
if(!pNoderoot)
return;
TiXmlElement *pNode1 = new TiXmlElement("name");
TiXmlText *text1 = new TiXmlText("jamy");
pNode1->LinkEndChild(text1);
pNode1->SetAttribute("country", "china");
pNoderoot->LinkEndChild(pNode1);
pDoc->LinkEndChild(pNoderoot);
pDoc->SaveFile("jamy.xml");
}
<?xml version="1.0" encoding="UTF-8" ?>
<config>
<name conoury="china">jamy</name>
</config>
这里只是简单的介绍怎样在VS2010中使用tinyxml,第一次写这个,当然有很多是百度的啦,不喜勿喷噢~~~~