zoukankan      html  css  js  c++  java
  • TinyXML

    1. 介绍TinyXML的一些类
    TiXmlBase:整个TinyXML模型的基类
    TiXmlAttribute:对应于XML中的元素的属性
    TiXmlNode:对应于DOM结构中的节点
    TiXmlComment:对应于XML中的注释
    TiXmlDeclaration:对应于XML中的申明部分,<?versiong=”1.0” ?>
    TiXmlDocument:对应于XML的整个文档
    TiXmlElement:对应于XML的元素
    TiXmlText:对应于XML的文字部分
    TiXmlUnknown:对应于XML的未知部分
    TiXmlHandler:定义了针对XML的一些操作

    2. 下载
    http://prdownloads.sourceforge.net/tinyxml

    3. 头文件

    #include "tinyxml.h"
    #include "tinystr.h"  

    4. 生成xml

    TiXmlDocument *pDoc = new TiXmlDocument;        //生成XML
    TiXmlDeclaration *pDeclaration = new TiXmlDeclaration("1.0","UTF-8","");        //序言区
    pDoc->LinkEndChild(pDeclaration);
    TiXmlElement *GPS = new TiXmlElement("GPS");        //父结点    ->省略了根结点
    pDoc->LinkEndChild(GPS);
    TiXmlElement *pCode = new TiXmlElement("Code"); 
    GPS->LinkEndChild(pCode);
    TiXmlElement *pSDate = new TiXmlElement("SDate");
    GPS->LinkEndChild(pSDate);
    
    TiXmlText *tCode = new TiXmlText("");
    pCode->LinkEndChild(tCode);
    TiXmlText *tSDate = new TiXmlText("");
    pSDate->LinkEndChild(tSDate);
    
    TiXmlPrinter printer;
    pDoc->Accept(&printer);
    //打印XML字符串
    cout << printer.CStr() << endl;
    
    //生成xml格式文件
    pDoc->SaveFile("Respond.xml");
    <?xml version="1.0" encoding="UTF-8" ?>
    <GPS>
        <Code>D1</Code>
        <SDate>2013-08-2112:41:05</SDate>
    </GPS>  

    5. 节点附加属性

    parent->SetAttribute("time","12:10");        //属性可以添加多个,格式是(属性名,属性值字符串)

    6. 解析xml

    TiXmlDocument *pDoc = new TiXmlDocument();
    pDoc->Clear();        //开始做清空操作,放置Parse解析一个不变的字符串 
    pDoc->Parse(" ");    //解析字符串
    pDoc->LoadFile("*.xml");    //解析xml文件 
    
    TiXmlElement *RootElement = pDoc->RootElement();
    TiXmlElement *Code = RootElement->FirstChildElement();
    printf("%s
    ",Code->GetText());
    TiXmlElement *SDate = Code->NextSiblingElement(); 

    7. 获取节点值

    pNameEle->Value();        //结点名
    pNameEle->GetText();        //内容
    pNameEle->Attribute("id");    //结点属性

    8. 查询指定字段

    TiXmlDocument pDoc;
    pDoc.RootElement()->FirstChild()->Value();    //取得第一个子节点名
    pDoc.RootElement()->FirstChild("IName")->NextSibling()->Value()    //取得某一个节点的下一个节点名
    pDoc.RootElement()->FirstChild("SDate")->ToElement()->GetText();    //取得子节点值

    9. CDATA区段
    XML文件中的CDATA区段以

    <![CDATA[

    开始,以

    ]]> 

    结束
    CDATA区段中的文本不会被XML解析器解析,无论它们带有什么内容
    你可以用CDATA区段来存储含有不想被解析的文本(例如程序代码段)

    string strCDATA = RootElement()->FirstChild()->Value();             //获取CDATA区段的数据

    10. 简易生成方法

    const char *str = "<GPS><body><![CDATA[fuck]]></body></GPS>" ;
  • 相关阅读:
    WPF--模板选择
    C#基础知识回顾--委托事件
    WPF刷新界面之坎坷路
    git 复位出现If no other git process is currently running, this probably means a git process crashed in this repo
    winrar 授权破解过期解决
    百度地图经纬度批量查找功能XGeocoding使用手册
    variant conversion error for variable v23
    oracle exp导出加上过滤条件
    office 格式刷双击无法启用连刷模式
    xsl 文件如何定义 Javascript 函数并且调用
  • 原文地址:https://www.cnblogs.com/zhangxuechao/p/11709904.html
Copyright © 2011-2022 走看看