Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
XMLnode Struct Reference

#include <xml_serializer.h>

Public Member Functions

 XMLnode ()
 
 XMLnode (const std::string &val, XMLnode *newup)
 
void Write (VSFileSystem::VSFile &f, void *mythis, int tablevel)
 
string WriteString (void *mythis, int tablevel)
 

Public Attributes

XMLnodeup
 
std::string val
 
vector< XMLElementelements
 
vector< XMLnodesubnodes
 

Detailed Description

Definition at line 131 of file xml_serializer.h.

Constructor & Destructor Documentation

XMLnode::XMLnode ( )
inline

Definition at line 137 of file xml_serializer.h.

References up.

138  {
139  up = NULL;
140  }
XMLnode::XMLnode ( const std::string &  val,
XMLnode newup 
)
inline

Definition at line 141 of file xml_serializer.h.

References up, and val.

142  {
143  this->val = val;
144  up = newup;
145  }

Member Function Documentation

void XMLnode::Write ( VSFileSystem::VSFile f,
void *  mythis,
int  tablevel 
)

Definition at line 119 of file xml_serializer.cpp.

References VSFileSystem::VSFile::Fprintf(), i, and StarSystemGent::Tab().

120 {
121  Tab( f, level );
122  f.Fprintf( "<%s", val.c_str() );
123  for (unsigned int i = 0; i < elements.size(); i++)
124  elements[i].Write( f, mythis );
125  if ( subnodes.empty() ) {
126  f.Fprintf( "/>\n" );
127  } else {
128  f.Fprintf( ">\n" );
129  for (unsigned int i = 0; i < subnodes.size(); i++)
130  subnodes[i].Write( f, mythis, level+1 );
131  Tab( f, level );
132  f.Fprintf( "</%s>\n", val.c_str() );
133  }
134 }
string XMLnode::WriteString ( void *  mythis,
int  tablevel 
)

Definition at line 166 of file xml_serializer.cpp.

References buffer, i, MAXBUFFER, and TabString().

167 {
168  string ret;
169  char buffer[MAXBUFFER];
170  memset( buffer, 0, MAXBUFFER );
171  ret = TabString( level );
172  ret = ret+"<"+val;
173  ret += string( buffer );
174  for (unsigned int i = 0; i < elements.size(); i++)
175  ret += elements[i].WriteString( mythis );
176  if ( subnodes.empty() ) {
177  ret += "/>\n";
178  } else {
179  ret += ">\n";
180  for (unsigned int i = 0; i < subnodes.size(); i++)
181  ret += subnodes[i].WriteString( mythis, level+1 );
182  ret += TabString( level );
183  ret = ret+"</"+val+">\n";
184  }
185  return ret;
186 }

Member Data Documentation

vector< XMLElement > XMLnode::elements

Definition at line 135 of file xml_serializer.h.

Referenced by XMLSerializer::AddElement().

vector< XMLnode > XMLnode::subnodes

Definition at line 136 of file xml_serializer.h.

Referenced by XMLSerializer::AddTag().

XMLnode* XMLnode::up

Definition at line 133 of file xml_serializer.h.

Referenced by XMLSerializer::EndTag(), and XMLnode().

std::string XMLnode::val

Definition at line 134 of file xml_serializer.h.

Referenced by XMLSerializer::EndTag(), and XMLnode().


The documentation for this struct was generated from the following files: