public void InitializeFromXml(XmlDocument doc) { XmlElement xml_root = doc.DocumentElement; foreach (XmlElement root_node_element in xml_root.ChildNodes) { mRootNode.InitializeFromXml(root_node_element); } }
public void InitializeFromXml(XmlElement node_element) { node_element.TryQueryStringAttribute("SplitVariableName", out mSplitVariableName); node_element.TryQueryStringAttribute("VariableName", out mVariableName); node_element.TryQueryStringAttribute("VariableValue", out mVariableValue); node_element.TryQueryDoubleAttribute("InformationGain", out mInformationGain); node_element.TryQueryIntAttribute("RecordCount", out mRecordCount); foreach (XmlElement nodemChildren_element in node_element.ChildNodes) { if (nodemChildren_element.Name == "ClassVariableValueDistribution") { foreach (XmlElement class_variable_value_node in nodemChildren_element.ChildNodes) { if (class_variable_value_node.Name == "ClassVariableValue") { int variable_value_count = 0; string variable_value_name = ""; class_variable_value_node.TryQueryStringAttribute("VariableValue", out variable_value_name); class_variable_value_node.TryQueryIntAttribute("RecordCount", out variable_value_count); mClassVariableValueDistribution[variable_value_name] = variable_value_count; } } } else if (nodemChildren_element.Name == "ChildNodes") { foreach (XmlElement child_node_element in nodemChildren_element.ChildNodes) { DecisionTreeNode <T> child_node = new DecisionTreeNode <T>(mTree, null, null, this); child_node.InitializeFromXml(child_node_element); mChildren[child_node.VariableValue] = child_node; } } } }