1
我有這樣的XMLpugi :: NEXT_SIBLING返回一些奇怪
<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到parce它。
pugi::xml_node cur_sibling = cur_node.next_sibling();
if (cur_sibling.name() == "")
find_sibling(cur_node.parent());
這裏cur_node是測試節點,next_subling結構是這樣的: cur_sibling 對不起俄羅斯,它最高審計機關無法讀取內存 ,所以我不能用它做任何事情,並試圖把它的名字的原因堆棧電流錯誤。不知道發生了什麼,爲什麼它沒有返回空節點?
謝謝!它似乎運作良好,但你能解釋我這一點:據我瞭解的文件,當節點是最後一個孩子next_subling返回空節點,這是一個空字符串的名稱。雖然,我曾經使用過相同的結構,並且按照我的預期工作。 但這次不行。我錯過了什麼? –
@Stupid_Hedgehog的確,它[返回一個空字符串](https://github.com/zeux/pugixml/blob/master/src/pugixml.cpp#L5455)我期待一個斷言。問題是你的比較。見編輯的答案。 –
@Stupid_Hedgehog你不能比較'char *'與運算符==,你必須使用['strcmp'](http://en.cppreference.com/w/cpp/string/byte/strcmp)。 –