Я пишу часть моего приложения, в которых хранятся настройки в файле XML, но я не хочу, чтобы «клиент» продублировать, я хочу это:предотвратить дублирование pugixml :: xml_node
<jack>
<client name="something">
<port name="someport" />
<port name="someport_2" />
</client>
</jack>
Но вместо того, чтобы Я получаю:
<jack>
<client name="something">
<port name="someport" />
</client>
<client name="something">
<port name="someport_2" />
</client>
</jack>
думал «просто проверить, если узел уже существует», но это проблема, поэтому я этот кусок кода:
// xjack is the root node
pugi::xml_node xclient = xjack.child(sclient.c_str());
if (!xclient) {
xclient = xjack.append_child("client");
}
номе t !xclient
всегда оценивает true, попробовал также if (xclient.empty())
, но не работает также.
Как sclient инициализируется? – zeuxcg
Он инициализируется в цикле, который является результатом другого строкового substr, 'sclient = client-> first.substr (0, client-> first.find (':'));' client-> first - это строка в формате " что-то: someport» –