public override bool MoveToFirstAttribute() { var attributes = new CachedEnumerable <IXPathAttribute>(_sourceElementNode.Element.GetAttributes()); if (attributes.ReadUntil(0)) { _sourceAttributeNode = new AnyAttributeNode(attributes, 0); _nodeType = XPathNodeType.Attribute; return(true); } return(false); }
public override bool MoveToFirstChild() { if (_nodeType == XPathNodeType.Text) { return(false); } var childrenEnumerable = _sourceElementNode.Element.GetChildren(); childrenEnumerable = AppendTextNode(childrenEnumerable, _sourceElementNode); var children = new CachedEnumerable <IXPathElement>(childrenEnumerable); if (children.ReadUntil(0)) { var childNode = new AnyElementNode(_sourceElementNode, children, 0); SetElementNode(childNode); return(true); } return(false); }