gpt4 book ai didi

c++ - 使用 TinyXML 获取段错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:31:28 24 4
gpt4 key购买 nike

我目前有一个 XML 文件,我正在使用 TinyXML 对其进行解析。我的 XML 文件的顶部如下所示:

<Classroom>12
<ClassName>name</ClassName>
...
</Classroom>

我正在尝试访问 ClassName 中的文本。我目前使用这个遇到段错误:

TiXmlDocument doc;
doc.LoadFile(file);
TiXmlHandle handle(&doc);

TiXmlElement * child = handle.FirstChild().FirstChild().ToElement();
cout<<child->GetText();

我做错了什么?

谢谢!

最佳答案

  1. 第一次调用 FirstChild() 返回一个 TiXmlElement 表示第一个 <Classroom>
  2. 对 FirstChild() 的第二次调用返回一个表示文本“12”的 TiXmlText
  3. TiXmlText 不覆盖 ToElement() 函数,因此使用基类的 ToElement() 函数,该函数返回 NULL。

您可以将代码更改为以下内容:

TiXmlElement * child = handle.FirstChild("Classroom").FirstChild("ClassName").ToElement();

关于c++ - 使用 TinyXML 获取段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11515135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com