Witam,
Mam problem przy korzystaniu z tinyXML oraz rapidXML - kiedy parsowany jest błędny plik XML - w wartości elementu występuje znak <
następuje wysypanie się całej aplikacji.
Process returned -1073741819 (0xC0000005) execution time : 2.335 s
Press any key to continue.
Czy ktoś może spotkał się z tym i jak sobie poradził?
#include <iostream>
#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") -> FirstChildElement("sample");
while (node != NULL)
{
cout << "--START--" << endl;
element = node -> FirstChildElement("field0");
while(element != NULL)
{
const char* title = element -> GetText();
if (title != NULL)
cout << ":: " << title << endl;
else
cout << ":: NULL" << endl;
element = element -> NextSiblingElement();
}
cout << "---END---" << endl << endl;
node = node -> NextSibling();
}
return 0;
}
<root>
<sample>
<field0><crash>1</field0>
<field1>2</field1>
<field2>3</field2>
<field3>4</field3>
<field4>5</field4>
<field5>6</field5>
<field6>7</field6>
<field7>8</field7>
</sample>
</root>