TinyXml接口

来源:互联网 发布:网络电影 青春合伙人 编辑:程序博客网 时间:2024/06/05 19:41
TinyXML是目前非常流行的一款基于DOM模型的XML解析器,简单易用且小巧玲珑,非常适合存储简单数据,配置文件,对象序列化等数据量不是很大的操作,其主页是:http://www.grinninglizard.com/tinyxml/,目前最新版本是2_6_2。


TinyXml总体包含如下几个类

 

下面逐一进行描述。


1.TiXmlBase

描述: 在 TinyXml 中,它是所有类的父类

公有函数:

[cpp] view plaincopy
  1. virtual void Print(FILE *cfile, int depth) const = 0;<span style="white-space:pre"> </span>  
[cpp] view plaincopy
  1. int Row() const  
  2. int Column() const  
  3. void SetUserData(void *user)  
[cpp] view plaincopy
  1. void * GetUserData()  
  2. const void * GetUserData() const  

静态公有函数

[cpp] view plaincopy
  1. static void SetCondenseWhiteSpace(bool condense)  
  2. static bool IsWhiteSpaceCondensed()  
  3. static void EncodeString(const TIXML_STRING&str, TIXML_STRING *out)  

2.TiXmlAttribute

描述: 属性 

公有函数:

[cpp] view plaincopy
  1. TiXmlAttribute()  
  2. TiXmlAttribute(const std::string& _name, const std::string& _value)  
  3. TiXmlAttribute(const char * _name, const char * _value)  
  4. const char * Name() const  
  5. const char * Value() const  
  6. const std:string& ValueStr() const  
  7. int IntValue() const  
  8. double DoubleValue() const  
  9. int QueryIntValue(int *_value) const  
  10. int QueryDoubleValue(double *_value) const  
  11.  void SetName(const char* _name)  
  12. void SetValue(const char* _value)  
  13. void SetIntValue(int _value)  
  14. void SetDoubleValue(double _ value)  
  15. void SetName(const std::string & _name)  
  16. void SetValue(const std::string & _value)  
  17. const TiXmlAttribute * Next() const  
  18. const TiXmlAttribute * Previous() const  
  19. virtual void Print(FILE *cfile, int depth) const  

 3. TiXmlNode 

描述: 在文档对象模型(DOM)中,它是所有一切节点的父类

公有函数:

[cpp] view plaincopy
  1. const char * Value () const  
  2. const std::string & ValueStr () const  
  3. void SetValue (const char *_value)  
  4. void SetValue (const std::string &_value)  
  5. void Clear ()  
  6. TiXmlNode * Parent () FirstChild () const FirstChild (const char *value) const  
  7. const TiXmlNode *  
  8. const TiXmlNode *  
  9. TiXmlNode * FirstChild (const char *_value)  
  10. TiXmlNode * LastChild ()  
  11. TiXmlNode * LastChild (const char *_value)  
  12. const TiXmlNode * FirstChild (conststd::string &_value) const  
  13. TiXmlNode * FirstChild (const std::string&_value)  
  14. const TiXmlNode * LastChild (const std::string &_value) const  
  15. TiXmlNode * LastChild (const std::string&_value)  
  16. const TiXmlNode *  
  17. const TiXmlNode * IterateChildren (const TiXmlNode *previous) constIterateChildren (const char *value, const TiXmlNode *previous) const  
  18. const TiXmlNode * IterateChildren (const std::string &_value, constTiXmlNode *previous) const  
  19. TiXmlNode * IterateChildren (const std::string &_value, const TiXmlNode*previous)  
  20. TiXmlNode * InsertEndChild (const TiXmlNode &addThis)  
  21. TiXmlNode * LinkEndChild (TiXmlNode *addThis)  
  22. TiXmlNode * InsertBeforeChild (TiXmlNode *beforeThis, const TiXmlNode&addThis)  
  23. TiXmlNode * InsertAfterChild (TiXmlNode *afterThis, constTiXmlNode &addThis)  
  24. TiXmlNode * ReplaceChild (TiXmlNode*replaceThis, const TiXmlNode &withThis)  
  25. bool RemoveChild (TiXmlNode*removeThis)  
  26. const TiXmlNode *  
  27. const TiXmlNode *  
  28. const TiXmlNode * PreviousSibling () constPreviousSibling (const char *) const PreviousSibling (const std::string&_value) const  
  29. TiXmlNode * PreviousSibling (const std::string &_value)  
  30. const TiXmlNode * NextSibling (const std::string &_value) const  
  31. TiXmlNode * NextSibling (const std::string&_value)  
  32. const TiXmlNode * NextSibling () const  
  33. const TiXmlNode * NextSibling (const char *) const  
  34. const TiXmlElement * NextSiblingElement ()const  
  35. const TiXmlElement * NextSiblingElement (const char *) const  
  36. const TiXmlElement * NextSiblingElement(const std::string &_value) const  
  37. TiXmlElement * NextSiblingElement (const std::string &_value)  
  38. const TiXmlElement * FirstChildElement () const  
  39. const TiXmlElement * FirstChildElement (const char *_value) const  
  40. const TiXmlElement * FirstChildElement(const std::string &_value) const  
  41. TiXmlElement * FirstChildElement (const std::string &_value)  
  42. int Type () const  
  43. const TiXmlDocument * GetDocument () const  
  44. bool NoChildren () const  
  45. virtual const TiXmlDocument *  
  46. virtual const TiXmlElement *  
  47. virtual const TiXmlComment * ToDocument ()const ToElement () const ToComment () const  
  48. virtual const TiXmlUnknown * ToUnknown () const  
  49. virtual const TiXmlText * ToText () const  
  50. virtual const TiXmlDeclaration * ToDeclaration () const  
  51. virtual TiXmlDocument * ToDocument ()  
  52. virtual TiXmlElement * ToElement ()  
  53. virtual TiXmlComment * ToComment ()  
  54. virtual TiXmlUnknown * ToUnknown ()  
  55. virtual TiXmlText * ToText ()ToDeclaration ()  
  56. virtual TiXmlDeclaration *  
  57. virtual TiXmlNode * Clone () const =0  
  58. virtual bool Accept (TiXmlVisitor *visitor) const =0  

4.TiXmlComment

 描述: 表示 XML 文件中的注释

公有函数

[cpp] view plaincopy
  1. TiXmlComment ()  
  2. TiXmlComment (const char *_value)  
  3. virtual TiXmlNode * Clone () const  
  4. virtual void Print (FILE *cfile, int depth) const  
  5. virtual const TiXmlComment * ToComment () const  
  6. virtual TiXmlComment * ToComment ()  
  7. virtual bool Accept (TiXmlVisitor *visitor)const  

5.TiXmlDeclaration

 描述:表示 XML 文件中的声明

 公有函数:

[cpp] view plaincopy
  1. TiXmlDeclaration ()  
  2. TiXmlDeclaration (const std::string &_version, const std::string&_encoding, const std::string &_standalone)  
  3. TiXmlDeclaration (const char *_version, const char *_encoding, const char*_standalone)  
  4. const char * Version () const  
  5. const char * Encoding () const  
  6. const char * Standalone () const Clone () const  
  7. virtual TiXmlNode *  
  8. virtual void Print (FILE *cfile, int depth)const  
  9. virtual const TiXmlDeclaration *  
  10. virtual TiXmlDeclaration * ToDeclaration () const ToDeclaration ()  
  11. virtual bool Accept (TiXmlVisitor*visitor) const  

 6. TiXmlDocument 

描述:在文档对象模型(DOM)中, 始终作为 XML 文档的最顶端节点

公有函数:

[cpp] view plaincopy
  1. TiXmlDocument ()  
  2. TiXmlDocument (const char *documentName)  
  3. TiXmlDocument (const std::string &documentName)  
  4. bool LoadFile (TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)  
  5. bool SaveFile () const  
  6. bool LoadFile (const char *filename, TiXmlEncodingencoding=TIXML_DEFAULT_ENCODING)  
  7. bool SaveFile (const char *filename) const  
  8. bool LoadFile (FILE *, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)  
  9. bool SaveFile (FILE *) const  
  10. bool LoadFile (const std::string &filename, TiXmlEncodingencoding=TIXML_DEFAULT_ENCODING)  
  11. bool SaveFile (const std::string &filename) const  
  12. virtual const char * Parse (const char *p, TiXmlParsingData *data=0,TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)  
  13. const TiXmlElement * RootElement() const  
  14. bool Error () const  
  15. const char * ErrorDesc () const  
  16. int ErrorId () const  
  17. int ErrorRow () const  
  18. int ErrorCol () const  
  19. void SetTabSize (int _tabsize)  
  20. void ClearError ()  
  21. void Print () const  
  22. virtual void Print (FILE *cfile, int depth=0) const  
  23. virtual const TiXmlDocument * ToDocument() const  
  24. virtual TiXmlDocument * ToDocument ()  
  25. virtual bool Accept (TiXmlVisitor*content) const  

 7. TiXmlElement 

描述: TiXmlElement 是一个容器类,它有值和名称,也可以包含其它元素(如:文本,注释等),同时 它还可以拥有很多属性

 公有函数:

[cpp] view plaincopy
  1. TiXmlElement (const char *in_value)  
  2. TiXmlElement (const std::string&_value)  
  3. const char * Attribute (const char *name) const  
  4. const char * Attribute (const char *name, int*i) const  
  5. const char * Attribute (const char *name,double *d) const  
  6. int QueryIntAttribute (const char *name,int *_value) const  
  7. int QueryDoubleAttribute (const char *name, double *_value) const  
  8. int QueryFloatAttribute (const char *name, float *_value) const  
  9. int QueryValueAttribute (const std::string &name, T *outValue) const  
  10. void SetAttribute (const char *name, constchar *_value)  
  11. void SetAttribute (const std::string &name, const std::string &_value)  
  12. void SetAttribute (const char *name, int value)  
  13. void SetDoubleAttribute (const char *name, double value)  
  14. void RemoveAttribute (const char *name)  
  15. void RemoveAttribute (const std::string &name)  
  16. const TiXmlAttribute * FirstAttribute () const  
  17. const TiXmlAttribute * LastAttribute ()const  
  18. const char * GetText () const  
  19. virtual TiXmlNode * Clone () const  
  20. virtual void Print (FILE *cfile, int depth) const  
  21. virtual const TiXmlElement * ToElement () const  
  22. virtual TiXmlElement * ToElement ()  
  23. virtual bool Accept (TiXmlVisitor *visitor) const  

8.TiXmlText 描述: 表示 XML 文件中的文本节点

公有函数:

[cpp] view plaincopy
  1. TiXmlText (const char *initValue)  
  2. TiXmlText (const std::string&initValue)  
  3. virtual void Print (FILE *cfile, int depth) const  
  4. bool CDATA () const  
  5. void SetCDATA (bool _cdata)  
  6. virtual const TiXmlText * ToText () const  
  7. virtual TiXmlText * ToText ()  
  8. virtual bool Accept (TiXmlVisitor *content)const  

9.TiXmlUnkown 描述:在 XML 文件中无法识别的节点用 TiXmlUnkown 来表示

公有函数:

[cpp] view plaincopy
  1. virtual TiXmlNode * Clone () const  
  2. virtual void Print (FILE *cfile, int depth) const  
  3. virtual const TiXmlUnknown * ToUnknown () const  
  4. virtual TiXmlUnknown * ToUnknown ()  
  5. virtual bool Accept (TiXmlVisitor *content) const  
0 0
原创粉丝点击