tinyxml.cpp File Reference

#include <ctype.h>
#include "tinyxml.h"

Functions

FILE * TiXmlFOpen (const char *filename, const char *mode)
std::istream & operator>> (std::istream &in, TiXmlNode &base)
std::ostream & operator<< (std::ostream &out, const TiXmlNode &base)
std::string & operator<< (std::string &out, const TiXmlNode &base)

Function Documentation

FILE* TiXmlFOpen ( const char *  filename,
const char *  mode 
)

std::istream& operator>> ( std::istream &  in,
TiXmlNode base 
)

An input stream operator, for every class. Tolerant of newlines and formatting, but doesn't expect them.

std::ostream& operator<< ( std::ostream &  out,
const TiXmlNode base 
)

An output stream operator, for every class. Note that this outputs without any newlines or formatting, as opposed to Print(), which includes tabs and new lines.

The operator<< and operator>> are not completely symmetric. Writing a node to a stream is very well defined. You'll get a nice stream of output, without any extra whitespace or newlines.

But reading is not as well defined. (As it always is.) If you create a TiXmlElement (for example) and read that from an input stream, the text needs to define an element or junk will result. This is true of all input streams, but it's worth keeping in mind.

A TiXmlDocument will read nodes until it reads a root element, and all the children of that root element.

std::string& operator<< ( std::string &  out,
const TiXmlNode base 
)