internal ElementNode(string name, string prefix, TraceXPathNavigator.ElementNode parent, string xmlns) : base(XPathNodeType.Element, parent) { this.childNodes = new List <TraceXPathNavigator.TraceNode>(); this.attributes = new List <TraceXPathNavigator.AttributeNode>(); this.name = name; this.prefix = prefix; this.xmlns = xmlns; }
internal void Reset() { this.attributeIndex = 0; this.elementIndex = 0; this.movedToText = false; if (this.childNodes != null) { foreach (TraceXPathNavigator.TraceNode node in this.childNodes) { if (node.NodeType == XPathNodeType.Element) { TraceXPathNavigator.ElementNode node2 = node as TraceXPathNavigator.ElementNode; if (node2 != null) { node2.Reset(); } } } } }
internal IEnumerable <TraceXPathNavigator.ElementNode> FindSubnodes(string[] headersPath) { if (headersPath == null) { throw new ArgumentNullException("headersPath"); } TraceXPathNavigator.ElementNode iteratorVariable0 = this; if (string.CompareOrdinal(iteratorVariable0.name, headersPath[0]) != 0) { iteratorVariable0 = null; } int index = 0; while ((iteratorVariable0 != null) && (++index < headersPath.Length)) { TraceXPathNavigator.ElementNode iteratorVariable2 = null; if (iteratorVariable0.childNodes != null) { foreach (TraceXPathNavigator.TraceNode iteratorVariable3 in iteratorVariable0.childNodes) { if (iteratorVariable3.NodeType == XPathNodeType.Element) { TraceXPathNavigator.ElementNode iteratorVariable4 = iteratorVariable3 as TraceXPathNavigator.ElementNode; if ((iteratorVariable4 != null) && (string.CompareOrdinal(iteratorVariable4.name, headersPath[index]) == 0)) { if (headersPath.Length == (index + 1)) { yield return(iteratorVariable4); } else { iteratorVariable2 = iteratorVariable4; break; } } } } } iteratorVariable0 = iteratorVariable2; } }
protected TraceNode(XPathNodeType nodeType, TraceXPathNavigator.ElementNode parent) { this.nodeType = nodeType; this.parent = parent; }
internal ProcessingInstructionNode(string name, string text, TraceXPathNavigator.ElementNode parent) : base(XPathNodeType.ProcessingInstruction, parent) { this.name = name; this.text = text; }
internal CommentNode(string text, TraceXPathNavigator.ElementNode parent) : base(XPathNodeType.Comment, parent) { this.nodeValue = text; }