最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

TinyXml使用

来源:动视网 责编:小OO 时间:2025-09-29 19:30:16
文档

TinyXml使用

这次使用了TinyXML后,觉得这个东西真是不错,于是将使用方法坐下总结来和大家分享。    该解析库在开源网站(http://sourceforge.net )上有下载,在本Blog也提供下载(下载TinyXML)   TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这课XML树。   注:DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节
推荐度:
导读这次使用了TinyXML后,觉得这个东西真是不错,于是将使用方法坐下总结来和大家分享。    该解析库在开源网站(http://sourceforge.net )上有下载,在本Blog也提供下载(下载TinyXML)   TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这课XML树。   注:DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节
这次使用了TinyXML后,觉得这个东西真是不错,于是将使用方法坐下总结来和大家分享。

    该解析库在开源网站(http://sourceforge.net )上有下载,在本Blog也提供下载(下载TinyXML)

    TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这课XML树。

    注:DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系(理解html语言的读者会很容易理解这种树状模型)。               

    如下是一个XML片段:

    

        

            周星星

            20

        

        

            白晶晶

            18

        

    

    在TinyXML中,根据XML的各种元素来定义了一些类:

        TiXmlBase:整个TinyXML模型的基类。

                TiXmlAttribute:对应于XML中的元素的属性。

                TiXmlNode:对应于DOM结构中的节点。

                        TiXmlComment:对应于XML中的注释。

                        TiXmlDeclaration:对应于XML中的申明部分,即<?versiong="1.0" ?>。

                        TiXmlDocument:对应于XML的整个文档。

                        TiXmlElement:对应于XML的元素。

                        TiXmlText:对应于XML的文字部分。

                        TiXmlUnknown:对应于XML的未知部分。 

        TiXmlHandler:定义了针对XML的一些操作。

    那我们如何使用这些类以及他们的方法来操纵我们的XML呢?请看下面。

    一、读取XML(假设我们的Xml文档中的内容与上面的Xml内容一样)

    //创建一个XML的文档对象。

    TiXmlDocument *myDocument = new TiXmlDocument("填上你的Xml文件名");

    myDocument->LoadFile();

    //获得根元素,即Persons。

    TiXmlElement *RootElement = myDocument.RootElement();

    //输出根元素名称,即输出Persons。

    cout << RootElement->Value() << endl;

    //获得第一个Person节点。

    TiXmlElement *FirstPerson = RootElement->FirstChildElement();

    //获得第一个Person的name节点和age节点和ID属性。

    TiXmlElement *NameElement = FirstPerson->FirstChildElement();

    TiXmlElement *AgeElement = NameElement->NextSiblingElement();

    TiXmlAttribute *IDAttribute = FirstPerson->FirstAttribute();

    //输出第一个Person的name内容,即周星星;age内容,即20;ID属性,即1。

    cout << NameElement->FirstChild()->Value << endl;

    cout << AgeElement->FirstChild()->Value << endl;

    cout << IDAttribute->Value() << endl;

    

    看,读取XML是不是很简单阿,和Java的XML解析库非常的相似,就是名字改了一下而已。

    二、生成XML内容

    //创建一个XML的文档对象。

    TiXmlDocument *myDocument = new TiXmlDocument();

    //创建一个根元素并连接。

    TiXmlElement *RootElement = new TiXmlElement("Persons");

    myDocument->LinkEndChild(RootElement);

    //创建一个Person元素并连接。

    TiXmlElement *PersonElement = new TiXmlElement("Person");

    RootElement->LinkEndChild(PersonElement);

    //设置Person元素的属性。

    PersonElement->SetAttribute("ID", "1");

    //创建name元素、age元素并连接。

    TiXmlElement *NameElement = new TiXmlElement("name");

    TiXmlElement *AgeElement = new TiXmlElement("age");

    PersonElement->LinkEndChild(NameElement);

    PersonElement->LinkEndChild(AgeElement);

    //设置name元素和age元素的内容并连接。

    TiXmlText *NameContent = new TiXmlText("周星星");

    TiXmlText *AgeContent = new TiXmlText("20");

    NameElement->LinkEndChild(NameContent);

    AgeElement->LinkEndChild(AgeContent);

    //保存到文件

    myDocument->SaveFile("要保存的xml文件名");

    这样,便创建了一个如下的xml文件:

    

        

            周星星

            20

        

   

    

文档

TinyXml使用

这次使用了TinyXML后,觉得这个东西真是不错,于是将使用方法坐下总结来和大家分享。    该解析库在开源网站(http://sourceforge.net )上有下载,在本Blog也提供下载(下载TinyXML)   TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这课XML树。   注:DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top