void Configuration::Node::Load(Xml::Node xmlNode) { do { Map::iterator it(map.insert( Map::value_type(xmlNode.GetType(),Node()) )); it->second.parent.map = ↦ it->second.parent.item = it; if (const Xml::Node xmlChild=xmlNode.GetFirstChild()) it->second.Load( xmlChild ); else it->second.string = xmlNode.GetValue(); xmlNode = xmlNode.GetNextSibling(); } while (xmlNode); }