title: tinyXML or rapidXML crash
body: <p>When parsing with tinyXML or rapidXML I have such an error when "&lt;" character is put into XML file:</p>
  
  <blockquote>
  <pre><code>Process returned -1073741819 (0xC0000005)   execution time : 2.335 s
  Press any key to continue. 
  </code></pre>
  </blockquote>
  
  <p>Do you know how to avoid this behavior?</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include "tinyxml2.h"
  
  using namespace std;
  
  int main()
  {
      tinyxml2::XMLDocument doc;
      doc.LoadFile("my.xml");
  
      tinyxml2::XMLElement* element;
      tinyxml2::XMLNode* node;
  
      node = doc.FirstChildElement("root") -&gt; FirstChildElement("sample");
  
      while (node != NULL)
      {
          cout &lt;&lt; "--START--" &lt;&lt; endl;
          element = node -&gt; FirstChildElement("field0");
  
          while(element != NULL)
          {
              const char* title = element -&gt; GetText();
  
              if (title != NULL)
                  cout &lt;&lt; ":: " &lt;&lt; title &lt;&lt; endl;
              else
                  cout &lt;&lt; ":: NULL" &lt;&lt; endl;
  
              element = element -&gt; NextSiblingElement();
  
          }
  
          cout &lt;&lt; "---END---" &lt;&lt; endl &lt;&lt; endl;
  
          node = node -&gt; NextSibling();
  
      }
  
      return 0;
  
  } 
  </code></pre>
  
  <p>my.xml file is something like that - take a look on <code>&lt;crash&gt;</code> markup or put only <code>&lt;</code> character instead of <code>&lt;crash&gt;</code> - it leads to crash anyway:</p>
  
  <pre><code>&lt;root&gt;
  &lt;sample&gt;
      &lt;field0&gt;&lt;crash&gt;1&lt;/field0&gt;
      &lt;field1&gt;2&lt;/field1&gt;
      &lt;field2&gt;3&lt;/field2&gt;
      &lt;field3&gt;4&lt;/field3&gt;
      &lt;field4&gt;5&lt;/field4&gt;
      &lt;field5&gt;6&lt;/field5&gt;
      &lt;field6&gt;7&lt;/field6&gt;
      &lt;field7&gt;8&lt;/field7&gt;
  &lt;/sample&gt;
  &lt;/root&gt; 
  </code></pre>
  
  <p>gdb output:</p>
  
  <pre>
  Program received signal SIGSEGV, Segmentation fault.
  0x0000000000402c5e in tinyxml2::XMLNode::FirstChildElement(char const*) const ()
  (gdb) where
  #0  0x0000000000402c5e in tinyxml2::XMLNode::FirstChildElement(char const*) const ()
  #1  0x00000000004013f7 in tinyxml2::XMLNode::FirstChildElement(char const*) ()
  #2  0x0000000000401236 in main ()
  
  </pre>
  
  <p>I want to add that I've had the same with rapidXML library.</p>