Example #1
0
	void DomElement::set_child_string_ns(const DomString &namespace_uri, const DomString &qualified_name, const DomString &value)
	{
		DomString local_name;
		DomString::size_type pos = qualified_name.find(L':');
		if (pos != DomString::npos)
			local_name = qualified_name.substr(pos + 1);
		else
			local_name = qualified_name;

		DomElement element = named_item_ns(namespace_uri, local_name).to_element();
		if (element.is_null())
		{
			element = get_owner_document().create_element_ns(namespace_uri, qualified_name);
			append_child(element);
		}

		DomText dom_text = get_owner_document().create_text_node(value);
		if (element.get_first_child().is_text())
		{
			DomNode temp_domnode = element.get_first_child();
			replace_child(dom_text, temp_domnode);
		}
		else
		{
			element.append_child(dom_text);
		}
	}
Example #2
0
void Project::save_item(DomElement dom_parent, ProjectItem *item)
{
	DomElement dom_item;
	if (dynamic_cast<ProjectFolderItem*>(item))
	{
		ProjectFolderItem *folder_item = dynamic_cast<ProjectFolderItem*>(item);
		dom_item = dom_parent.get_owner_document().create_element("folder");
		dom_item.set_child_string("path", folder_item->path);
	}
	else if (dynamic_cast<ProjectFilterItem*>(item))
	{
		ProjectFilterItem *filter_item = dynamic_cast<ProjectFilterItem*>(item);
		dom_item = dom_parent.get_owner_document().create_element("filter");
		dom_item.set_child_string("name", filter_item->name);
	}
	else if (dynamic_cast<ProjectFileItem*>(item))
	{
		ProjectFileItem *file_item = dynamic_cast<ProjectFileItem*>(item);
		dom_item = dom_parent.get_owner_document().create_element("file");
		dom_item.set_child_string("filename", file_item->filename);
	}
	else
	{
		throw Exception("Unknown item type");
	}

	save_item_children(dom_item, item);
	dom_parent.append_child(dom_item);
}
Example #3
0
void Project::save_item_children(DomElement dom_parent, ProjectItem *item)
{
	if (!item->children().empty())
	{
		DomElement dom_items = dom_parent.get_owner_document().create_element("items");
		for (size_t i = 0; i < item->children().size(); i++)
		{
			save_item(dom_items, item->children()[i]);
		}
		dom_parent.append_child(dom_items);
	}
}
Example #4
0
	void DomElement::set_child_string(const DomString &name, const DomString &value)
	{
		DomElement element = named_item(name).to_element();
		if (element.is_null())
		{
			element = get_owner_document().create_element(name);
			append_child(element);
		}

		while (!element.get_first_child().is_null())
		{
			DomNode my_child = element.get_first_child();
			element.remove_child(my_child);
		}

		DomText dom_text = get_owner_document().create_text_node(value);
		element.append_child(dom_text);
	}