pugi :: next_sibling返回了一些奇怪的东西

时间:2017-07-11 14:08:59

标签: c++ pugixml

我有像这样的xml

<w:document>
<w:body>
    <w:p>
        <abra-cadabra>
            <w:t>test</w:t>
        </abra-cadabra>
    </w:p>
    <w:p>
    </w:p>
    <w:p>
        <w:t>test1</w:t>
    </w:p>
</w:body>

我使用pugixml来制作它。

pugi::xml_node cur_sibling = cur_node.next_sibling();
    if (cur_sibling.name() == "")
        find_sibling(cur_node.parent());

这里cur_node是测试节点,next_subling结构如下所示: cur_sibling 抱歉俄语,它sais无法读取记忆 所以我不能用它做任何事情,并试图让它的名称导致堆栈功率错误。不知道发生了什么,为什么它没有返回空节点?

1 个答案:

答案 0 :(得分:0)

您的测试节点没有 next_sibling cur_sibling是您可以测试的无效xml_node:

if (!cur_sibling)

如果你看一下会员功能的签名:

const char_t* xml_node::name() const

你可以看到它没有返回字符串而是const char_t*。然后,您与运营商==的比较是比较(不同的)地址。