Я хотел бы читать из XML в C++, используя RapidXML. Однако, если узел не существует или значение отсутствует, программа аварийно завершает работу.
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++), чтобы предотвратить сбой программы и простое использование значений по умолчанию, если значение/узел не существует?
С уважением, - Корак