void PlugIn::from_XML(const tinyxml2::XMLDocument& document) { // Independent variables number { const tinyxml2::XMLElement* element = document.FirstChildElement("IndependentVariablesNumber"); if (element) { const char* text = element->GetText(); if (text) { try { set_independent_variables_number(atoi(text)); } catch (const std::logic_error & e) { std::cout << e.what() << std::endl; } } } } // Dependent variables number { const tinyxml2::XMLElement* element = document.FirstChildElement("DependentVariablesNumber"); if (element) { const char* text = element->GetText(); if (text) { try { set_dependent_variables_number(atoi(text)); } catch (const std::logic_error & e) { std::cout << e.what() << std::endl; } } } } // Input method { const tinyxml2::XMLElement* input_method_element = document.FirstChildElement("InputMethod"); if (input_method_element) { const char* input_method_text = input_method_element->GetText(); if (input_method_text) { try { set_input_method(input_method_text); } catch (const std::logic_error & e) { std::cout << e.what() << std::endl; } } } } // Template file_name { const tinyxml2::XMLElement* template_file_name_element = document.FirstChildElement("TemplateFileName"); if (template_file_name_element) { const char* template_file_name_text = template_file_name_element->GetText(); if (template_file_name_text) { try { set_template_file_name(template_file_name_text); } catch (const std::logic_error & e) { std::cout << e.what() << std::endl; } } } } // Input file_name { const tinyxml2::XMLElement* input_file_name_element = document.FirstChildElement("InputFileName"); if (input_file_name_element) { const char* input_file_name_text = input_file_name_element->GetText(); if (input_file_name_text) { try { set_input_file_name(input_file_name_text); } catch (const std::logic_error & e) { std::cout << e.what() << std::endl; } } } } // Batch file_name { const tinyxml2::XMLElement* script_file_name_element = document.FirstChildElement("BatchFileName"); if (script_file_name_element) { const char* script_file_name_text = script_file_name_element->GetText(); if (script_file_name_text) { try { set_script_file_name(script_file_name_text); } catch (const std::logic_error & e) { std::cout << e.what() << std::endl; } } } } // Output file_name { const tinyxml2::XMLElement* output_file_name_element = document.FirstChildElement("OutputFileName"); if (output_file_name_element) { const char* output_file_name_text = output_file_name_element->GetText(); if (output_file_name_text) { try { set_output_file_name(output_file_name_text); } catch (const std::logic_error & e) { std::cout << e.what() << std::endl; } } } } /* // Input flags { tinyxml2::XMLElement* input_flags_element = document->FirstChildElement("InputFlags"); if(input_flags_element) { const char* input_flags_text = input_flags_element->GetText(); if(input_flags_text) { Vector<std::string> new_input_flags; new_input_flags.parse(input_flags_text); try { set_input_flags(new_input_flags); } catch(const std::logic_error& e) { std::cout << e.what() << std::endl; } } } } */ // Display { const tinyxml2::XMLElement* display_element = document.FirstChildElement("Display"); if (display_element) { const char* display_text = display_element->GetText(); if (display_text) { try { std::string display_string(display_text); set_display(display_string != "0"); } catch (const std::logic_error & e) { std::cout << e.what() << std::endl; } } } } }
void MathematicalModel::from_XML(TiXmlElement* mathematical_model_element) { std::ostringstream buffer; if(mathematical_model_element != NULL) { // Control sentence { const char* text = mathematical_model_element->GetText(); if(text) { const std::string string(text); if(string != "MathematicalModel") { buffer << "OpenNN Exception: MathematicalModel class.\n" << "void from_XML(TiXmlElement*) method.\n" << "Unkown root element: " << string << ".\n"; throw std::logic_error(buffer.str()); } } else { buffer << "OpenNN Exception: MathematicalModel class.\n" << "void from_XML(TiXmlElement*) method.\n" << "Unkown root element.\n"; throw std::logic_error(buffer.str()); } } // Independent variables number { TiXmlElement* element = mathematical_model_element->FirstChildElement("IndependentVariablesNumber"); if(element) { const char* text = element->GetText(); if(text) { try { set_independent_variables_number(atoi(text)); } catch(std::exception& e) { std::cout << e.what() << std::endl; } } } } // Dependent variables number { TiXmlElement* element = mathematical_model_element->FirstChildElement("DependentVariablesNumber"); if(element) { const char* text = element->GetText(); if(text) { try { set_dependent_variables_number(atoi(text)); } catch(std::exception& e) { std::cout << e.what() << std::endl; } } } } // Display { TiXmlElement* element = mathematical_model_element->FirstChildElement("Display"); if(element) { const char* text = element->GetText(); if(text) { try { const std::string string(text); set_display(string != "0"); } catch(std::exception& e) { std::cout << e.what() << std::endl; } } } } } }