public void Parse(Document doc, System.Xml.XmlNode node) { foreach (System.Xml.XmlNode subnode in node.ChildNodes) { if (subnode.NodeType == System.Xml.XmlNodeType.Element) { object st = doc.Parse(subnode); if (st is IStatement) { if (subnode.Name == "Positive") { m_positive = (IStatement)st; } else if (subnode.Name == "Negative") { m_negative = (IStatement)st; } else { throw Document.ParseException("{0} should be either Positive or Negative", subnode.Name); } } else if (st is ICondition) { m_condition = (ICondition)st; } else { throw Document.ParseException("{0} is not allowed in a conditional statement", subnode.Name); } } } }
protected void ParseInner( Document doc, System.Xml.XmlNode node, Type type ) { foreach(System.Xml.XmlNode subnode in node.ChildNodes) { if(subnode is System.Xml.XmlElement) { object o = doc.Parse( subnode ); if(type != null && type.IsInstanceOfType( o ) == false) { throw Document.ParseException( "{0} is not an instance of {1}", subnode.Name, type.FullName ); } m_children.Add( o ); } } }
protected void ParseInner(Document doc, System.Xml.XmlNode node, Type type) { foreach (System.Xml.XmlNode subnode in node.ChildNodes) { if (subnode is System.Xml.XmlElement) { object o = doc.Parse(subnode); if (type != null && type.IsInstanceOfType(o) == false) { throw Document.ParseException("{0} is not an instance of {1}", subnode.Name, type.FullName); } m_children.Add(o); } } }
public void Parse( Document doc, System.Xml.XmlNode node ) { foreach(System.Xml.XmlNode subnode in node.ChildNodes) { if(subnode.NodeType == System.Xml.XmlNodeType.Element) { object st = doc.Parse( subnode ); if(st is IStatement) { if (subnode.Name == "Positive" ) m_positive = (IStatement)st; else if(subnode.Name == "Negative" ) m_negative = (IStatement)st; else throw Document.ParseException( "{0} should be either Positive or Negative", subnode.Name ); } else if(st is ICondition) { m_condition = (ICondition)st; } else { throw Document.ParseException( "{0} is not allowed in a conditional statement", subnode.Name ); } } } }