public static void AddNodes(this IContext self, params INode[] nodes) { foreach (var node in nodes) { self.AddNode(node); } }
public override void Deserialize(XmlReader reader, IContext context) { base.Deserialize(reader, context); this.name = reader.ReadElementContentAsString(); if (!reader.IsEmptyElement) { var type = reader.GetAttribute("type"); this.MatchedNode = this.factory.CreateNode(type); this.MatchedNode.Deserialize(reader.ReadSubtree(), context); context.AddNode(MatchedNode); } }
private List <INode> ReadNodes(XmlReader reader, IContext context) { List <INode> nodes = new List <INode>(); while (reader.ReadToFollowing(NodeTag)) { INode node; if (reader.MoveToAttribute(TypeAttr)) { node = context.EntityFactory.CreateNode(reader.Value); reader.MoveToElement(); } else { node = context.EntityFactory.CreateNode(); } node.Deserialize(reader.ReadSubtree(), context); nodes.Add(node); context.AddNode(node); } return(nodes); }