TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。
DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系。 

在TinyXML中,根据XML的各种元素来定义了一些类:
  XmlNode:对应于DOM结构中的节点的基类,定义了节点转换,节点遍历及节点操作(增,删,查,改)

class XMLNode
{
    //转换接口
    virtual XMLElement*    ToElement();
    virtual XMLText*        ToText();
    virtual XMLComment*    ToComment();
    virtual XMLDocument*    ToDocument();
    virtual XMLDeclaration*    ToDeclaration();
    virtual XMLUnknown*    ToUnknown();
    
    const char* Value() const;        //获取元素名称
    void SetValue( const char* val, bool staticMem=false );    //修改元素名称

    XMLNode* Parent();
    bool NoChildren() const;
    
    XMLNode*    FirstChild();
    XMLNode*    LastChild();
    const XMLElement* FirstChildElement( const char* name = 0 ) const;
    const XMLElement* LastChildElement( const char* name = 0 ) const;

    XMLNode*    PreviousSibling();
    XMLNode*    NextSibling();
    const XMLElement*    PreviousSiblingElement( const char* name = 0 ) const ;    //获取上一个元素
    const XMLElement*    NextSiblingElement( const char* name = 0 ) const;        //获取下一个元素
    
    XMLNode* InsertEndChild( XMLNode* addThis );
    XMLNode* InsertFirstChild( XMLNode* addThis );
    XMLNode* InsertAfterChild( XMLNode* afterThis, XMLNode* addThis );

    void DeleteChildren();            //删除所有节点
    void DeleteChild( XMLNode* node );    //删除指定节点
}
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-10
  • 2021-07-28
猜你喜欢
  • 2022-12-23
  • 2021-07-15
  • 2022-12-23
  • 2021-12-10
  • 2022-02-19
  • 2022-01-04
相关资源
相似解决方案