struct XMLSchemaChildEntry; struct XMLAttribute { String Name; String Value; }; struct XMLNode { XMLNode(const String &S); ~XMLNode(); void FreeMemory(); void Init(const String &S); void Save(ofstream &File); __forceinline void AddChild(XMLNode *Child) { Children.PushEnd(Child); } void MakeChildEntryList(Vector<XMLSchemaChildEntry> &List) const; void GetChildrenByName(const String &Name, Vector<XMLNode*> &Result) const; String GetAttributeByName(const String &Name) const; String Name; String Value; Vector<XMLAttribute> Attributes; Vector<XMLNode*> Children; };