32 xml_node decl = doc.prepend_child(node_declaration);
33 decl.append_attribute(
"version") =
"1.0";
34 decl.append_attribute(
"encoding") =
"UTF-8";
35 xml_node kitlist_node = doc.append_child(
"kitlist");
36 xml_node items_node = kitlist_node.append_child(
"items");
38 xml_node item_node = items_node.append_child(
"item");
39 item_node.text() = item->get_name().c_str();
40 item_node.append_attribute(
"id").set_value(item->get_id());
41 item_node.append_attribute(
"checked").set_value(item->is_checked());
45 xml_node categories_node = kitlist_node.append_child(
"categories");
47 xml_node cat_node = categories_node.append_child(
"category");
48 cat_node.append_attribute(
"id").set_value(cat->id);
49 xml_node cat_name = cat_node.append_child(
"category-name");
50 cat_name.text() = cat->name.c_str();
51 xml_node cat_items_node = cat_node.append_child(
"category-items");
52 for (
const auto& ci : cat->items) {
53 xml_node ci_node = cat_items_node.append_child(
"category-item");
54 ci_node.append_attribute(
"id").set_value(ci->get_id());
58 return doc.save_file(filename.c_str(),
" ");