Ошибка Tinyxml2 при анализе файла xml с помощью c ++ - PullRequest
0 голосов
/ 23 марта 2020

Я использую tinyxml2 для разбора файла xml. Во время отладки с некоторыми отпечатками:

XMLDocument doc;  
doc.LoadFile("../../Demos/config.xml");
std::cout << "file loaded" << std::endl;

XMLNode * pRoot = doc.FirstChild();
std::cout << "first element loadaed" << std::endl;
if (pRoot == nullptr) std::cout << "oops" << std::endl;

Я заметил, что моя программа напечатает последнюю std::cout, а затем выдаст ошибку ошибки сегментации. Моя проблема в том, что я не понимаю, почему pRoot равно null. Файл xml, который я передаю моей программе, выглядит следующим образом:

<scene>
    <group>
        <translate X="5" Y="0" Z="2" />
        <rotate angle="45" axisX="0" axisY="1" axisZ="0" />
        <models>
            <model file=”sphere.3d” />
        </models>
    </group>
</scene>

Любая помощь будет принята.

1 Ответ

0 голосов
/ 23 марта 2020

Проверьте возвращаемое значение LoadFile. LoadFile возвращает XML_SUCCESS? В противном случае файл может даже не загрузиться. Вы ищете в нужной папке?

...