zoukankan      html  css  js  c++  java
  • pugixml使用教程

     

    pugixml介绍

    pugixml是一个高性能、轻量级并且简单易用的xml解析库,支持UTF8 encoding、Little-endian UTF16、Big-endian UTF16、UTF16 with native endianness、Little-endianUTF32、Big-endian UTF32和UTF32with native endianness字符集,支持跨平台。

    下载地址:http://pugixml.org/

    使用示例

    Pugixml共三个文件,包含到工程中即可。

    下面我们要读写如下结构的students.xml文档。

    <Root>

        <students>

            <student>

                <name>张三</name>

                <sex>男</sex>

            </student>

            <student>

                <name>李四</name>

                <sex>男</sex>

            </student>

            <student>

                <name>王五</name>

                <sex>女</sex>

            </student>

        </students>

    </Root>

    将上面xml信息读取的代码

    void Read()
    
    {
    
        pugi::xml_document doc;
    
        if (doc.load_file("students.xml",pugi::parse_default,pugi::encoding_utf8))
    
        {
    
            pugi::xml_node root_node = doc.child(_T("Root"));
    
            pugi::xml_node students_node = root_node.child(_T("students "));
    
     
    
            // 分别读取每个学生信息
    
            for (pugi::xml_node student_node = students_node.child(_T("student"));
    
                student _node;
    
                student _node = student _node.next_sibling(_T("student ")))
    
            {
    
                pugi::xml_node name_node = students_node.child(_T("name"));
    
                printf("name : %s
    ",name_node.first_child().value());
    
                pugi::xml_node sex_node = student_node.child(_T("sex"));
    
                printf("sex: %s
    ",sex_node.first_child().value());
    
            }
    
        }
    
    }
    

    将m_studentList中的学生信息保存到student.xml中的代码

    void Write()
    
    {
    
        pugi::xml_document doc;
    
        pugi::xml_node root_node = doc.append_child(_T("Root"));
    
        pugi::xml_node students_node = root_node.append_child(_T("students"));
    
     
    
        // 分别存入每个学生的信息
        for ( int i = 0; i < m_studentList.size();i++)
        {
    
            Student student = m_ studentList.at(i);
    
            pugi::xml_node student_node = students_node.append_child(_T("student"));
    
            pugi::xml_node name_node = student _node.append_child(_T("name"));        
    
            name_node.append_child(pugi::node_pcdata).set_value((student.GetstrName().c_str()));
    
            pugi::xml_node sex_node = student _node.append_child(_T("sex"));        
    
            sex _node.append_child(pugi::node_pcdata).set_value((student.GetstrSex().c_str()));
    
        }
    
        doc.save_file("students.xml");
    
    }
        
    
  • 相关阅读:
    拼音输入法的数学原理
    搜索核心原理之网页和查询的相关性——TF-IDF
    Linux内核源码分析之调度、内核线程模型 And Centos7.2's Kernel Resource Analysis
    手把手教您定制化Centos6.x安装界面
    定制Centos系统(基于6.x)
    数据分析、数据挖掘之聚类、分类
    数据分析、数据挖掘之文档过滤、垃圾邮件
    数据分析、数据挖掘之特征分解、特征分析
    数据挖掘、数据分析之协同过滤、推荐系统、关联分析
    转载-“一代宗师”周金涛先生20个预言待验证
  • 原文地址:https://www.cnblogs.com/ltm5180/p/3989125.html
Copyright © 2011-2022 走看看