首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TinyXML2 -入门时遇到问题

TinyXML2 -入门时遇到问题
EN

Stack Overflow用户
提问于 2018-02-02 06:39:02
回答 1查看 325关注 0票数 0

我刚刚开始使用XML解析库,但是我在开始时遇到了麻烦。(我猜是学习曲线)更具体地说,当我试图获取并使用元素时,我正在处理一个异常。现在我有这样一句话:

代码语言:javascript
复制
tinyxml2::XMLElement *firstEvent = doc.FirstChildElement("EVENTS")->FirstChildElement();

这会抛出内存异常。由于某种原因,我不能显示我的XML代码,但是它的结构是

文件->事件->事件->更多内容

所以在我看来,解析器不能访问"event“元素。这可能是什么原因造成的?我做错了什么?!任何帮助都是非常好的!

EN

回答 1

Stack Overflow用户

发布于 2018-02-03 16:21:55

假设这是您的xml内容:

代码语言:javascript
复制
<events>
  <event> "Move" <\event>
  <event> "Walk" <\event>
  <event> "Run" <\event>
<\events>

在迭代前测试XmlElement是否为NULL,以避免抛出异常: C++代码片段可以如下所示:

代码语言:javascript
复制
XmlElement* elem = doc.FirstChildElement("events");
if(elem != NULL)
{
   for (XmlElement* e = elem->FirstChildElement("event"); e != NULL; e = e->NextSiblingElement("event"))
   {
        const char *c = e->GetText(); // if its an attrib use e->Attribute("event-type");
        /* more  */
   }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48572920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档