c++ - 使用 C++ 解析 xml 文件时出现 Tinyxml2 错误
问题描述
我正在使用 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
is 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>
任何帮助,将不胜感激。
解决方案
检查 的返回值LoadFile
。是否LoadFile
返回XML_SUCCESS
?否则文件甚至可能不会被加载。您是否在正确的文件夹中搜索?
推荐阅读
- java - 检测行是否包含一些数字和字母字符串模式
- java - java拆分数组的方法
- django - 使用与 Django 中的表单输入匹配的主键提取查询集
- nginx - nginx如何在域名后添加语言代码
- python - Python冒泡排序没有对整个列表进行排序
- c++ - (b&(1<> i) & 1) C++
- c++ - 如何根据 cpp 模板中的实际类型调用整数类型?
- javascript - 为什么当我在 angularjs 中使用 ES6 语法时 gulp-uglify 不起作用
- javascript - javascript 不返回所需的值
- java - 如何在 Scala 中为 Kafka (ConsumerRebalanceListener) 实现 Java 接口?