zoukankan      html  css  js  c++  java
  • C++解析xml(使用tinyxml)

      环境是vs2010+Windows 7。

      timyxml库我是在这里下载的,直接就能编译,编译后得到tinyxml.lib。

      使用时当然也需要tinyxml.h文件。

      如果不想编译,这里能下载我编译好的lib,顺便附赠h文件。

      我程序中解析的xml文件在这里能找到。

    代码如下:

    #include <iostream>
    #include <string>
    #include "tinyxml.h"
    using namespace std;
    #pragma comment(lib,"tinyxml.lib")
    
    int main()
    {
        const char * xmlFile = "lianxi.xml";
        TiXmlDocument doc;     
        doc.LoadFile(xmlFile);
    //    doc.Print();        //输出xml文件看看
    
        TiXmlElement* firstLevel=doc.RootElement();
        cout<<firstLevel->Value()<<":"<<endl;
    
        /*
            某些情况会用注释的这些内容
            比如:
            <menu name="123" num="456">
            </menu>
    
            TiXmlAttribute *firstAtt=firstLevel->FirstAttribute();
            while (firstAtt!=NULL)
            {
                cout<<firstAtt->Name()<<":"<<firstAtt->Value();
                firstAtt=firstAtt->Next();
            }    
        */
    
        TiXmlElement* secondLevel=firstLevel->FirstChildElement();
        while(secondLevel!=NULL)
        {
            cout<<" ";
            cout<<secondLevel->Value()<<":"<<endl;
    
            TiXmlElement* thirdLevel=secondLevel->FirstChildElement();
            while(thirdLevel!=NULL)
            {
                cout<<"  ";
                cout<<thirdLevel->Value()<<":"<<thirdLevel->GetText()<<endl;
    
                thirdLevel=thirdLevel->NextSiblingElement();
            }
            secondLevel=secondLevel->NextSiblingElement();
        }
    
        cin.get();
        return 0;
    }
  • 相关阅读:
    Aspose.word总结
    表格样式
    Aspose.Words 总结
    mysql主从复制
    WebApi系列~通过HttpClient来调用Web Api接口
    Memcached服务器安装、配置、使用详解
    Jqery之select操作
    Centos7 设置IPtables
    memcached全面剖析--5
    memcached全面剖析--4
  • 原文地址:https://www.cnblogs.com/tiandsp/p/2852020.html
Copyright © 2011-2022 走看看