【发布时间】:2014-05-14 14:53:29
【问题描述】:
我想使用 RapidXML 从 XML 读取到 C++。但是,如果节点不存在或缺少值,程序就会崩溃。
for (rapidxml::xml_node<> * xmlasset_node = root_node->first_node("Asset"); xmlasset_node; xmlasset_node = xmlasset_node->next_sibling())
{mystring += xmlasset_node->first_attribute("name")->value()};
但是,此“名称”属性并非在所有节点中都存在,并且如果不在 XML 中,则使用默认值填充。与此类似,我在所有节点中都有一些子节点。原因只是为了让 XML 尽可能小而清晰,以便手动调整。
如何实现检查/测试 (C++),以防止程序崩溃并在值/节点不存在时仅采用默认值?
亲切的问候, - 软木塞
【问题讨论】: