【问题标题】:C++ program error Libxml2 [duplicate]C++程序错误Libxml2 [重复]
【发布时间】:2014-04-11 13:42:09
【问题描述】:

这个程序有什么问题?

我有“/home/praktyka/projects/svgreader/main.cpp:55:31: error: ‘xmlNode’ has no member named ‘d’” 错误,请帮忙

我不知道如何修复错误

    xmlDoc         *doc = NULL;
    xmlNode        *root_element = NULL;
    xmlNodePtr      cur;
    xmlChar        *key;
    xmlAttrPtr     attr;
    const char     *Filename = "/home/praktyka/Dokumenty/drogi.svg";
    xmlChar        *d;    



cur = cur->xmlChildrenNode;
     if ((!xmlStrcmp(cur->, (const xmlChar *)"d"))) {
        d = xmlGetProp(cur, (const xmlChar *)"d");
        printf("d: %s\n", d);
        xmlFree(d);
    }

  }

我想看d:

<svg>
    <g>
       <path d="11"/>
    </g>
</svg>     

【问题讨论】:

  • xmlNode 结构没有名为 d 的成员。你想做什么?
  • 错误是不言自明的。你确定你的元素有一个成员名“d”吗?
  • 我想在终端看到 d
  • @user3520459,然后查找元素 ***d*** 而不是 d。另外,请确保您的子节点实际上指向该元素...

标签: c++ xml libxml2


【解决方案1】:

正如错误所说:structure xmlNode has no member "d"。如果要比较节点的内容,使用成员“content”:

xmlStrcmp(cur->content, (const xmlChar *)"d"))

【讨论】:

  • 谢谢,但现在我有“分段错误”
  • 你需要检查cur是否为NULL。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-29
  • 2018-09-03
  • 1970-01-01
  • 1970-01-01
  • 2011-08-22
  • 2015-03-04
  • 1970-01-01
相关资源
最近更新 更多