FastXml : An extremely lightweight stream oriented XML parser

In the past when I needed to parse an XML file I have been using TinyXML; which is a nice XML system and quite robust. However, most of the time, when I want to parse an XML file I really just need to treat it as a raw stream of data and I don't need any support for parent/child relationships or other hierarchical information.
And, while TinyXML is kind of tiny, it's still a fair amount of source code somewhere around 6,000 lines or so. It also isn't particularly fast.
Today I wrote an XML parser that is extremely non-robust. It pretty much assumes perfectly formed XML data and I don't know if I have taken every single use case into account. It does manage to parse all of my sample data that I needed, and, for me, that was enough.
FastXml is only about 350 lines long and is very fast. It parses 'in place' like my in-place parser and guarentees that all elements, text, and attributes are persistent pointers; something your application may be able to take advantage of.
Here are links to the source code:
FastXml.h
FastXml.cpp


