string Dump(ResetableIterator it) { it = (ResetableIterator)it.Clone(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append('('); do { XPathNavigator nav = it.Current.Clone(); nav.MoveToAttribute("id1", ""); sb.Append(nav.Value); sb.Append(", "); } while (it.MoveNext()); sb.Length = sb.Length - 2; sb.Append(')'); return(sb.ToString()); }
protected object ProcessResult(object value) { if (value is string) { return(value); } if (value is double) { return(value); } if (value is bool) { return(value); } if (value is XPathNavigator) { return(value); } if (value is int) { return((double)((int)value)); } if (value == null) { this.queryIterator = XPathEmptyIterator.Instance; return(this); } ResetableIterator iterator = value as ResetableIterator; if (iterator != null) { this.queryIterator = (ResetableIterator)iterator.Clone(); return(this); } XPathNodeIterator nodeIterator = value as XPathNodeIterator; if (nodeIterator != null) { this.queryIterator = new XPathArrayIterator(nodeIterator); return(this); } IXPathNavigable navigable = value as IXPathNavigable; if (navigable != null) { return(navigable.CreateNavigator()); } if (value is short) { return((double)((short)value)); } if (value is long) { return((double)((long)value)); } if (value is uint) { return((double)((uint)value)); } if (value is ushort) { return((double)((ushort)value)); } if (value is ulong) { return((double)((ulong)value)); } if (value is float) { return((double)((float)value)); } if (value is decimal) { return((double)((decimal)value)); } return(value.ToString()); }
protected object ProcessResult(object value) { if (value is string) { return(value); } if (value is double) { return(value); } if (value is bool) { return(value); } if (value is XPathNavigator) { return(value); } if (value is Int32) { return((double)(Int32)value); } if (value == null) { queryIterator = XPathEmptyIterator.Instance; return(this); // We map null to NodeSet to let $null/foo work well. } ResetableIterator resetable = value as ResetableIterator; if (resetable != null) { // We need Clone() value because variable may be used several times // and they shouldn't queryIterator = (ResetableIterator)resetable.Clone(); return(this); } XPathNodeIterator nodeIterator = value as XPathNodeIterator; if (nodeIterator != null) { queryIterator = new XPathArrayIterator(nodeIterator); return(this); } IXPathNavigable navigable = value as IXPathNavigable; if (navigable != null) { return(navigable.CreateNavigator()); } if (value is Int16) { return((double)(Int16)value); } if (value is Int64) { return((double)(Int64)value); } if (value is UInt32) { return((double)(UInt32)value); } if (value is UInt16) { return((double)(UInt16)value); } if (value is UInt64) { return((double)(UInt64)value); } if (value is Single) { return((double)(Single)value); } if (value is Decimal) { return((double)(Decimal)value); } return(value.ToString()); }
protected object ProcessResult(object value) { if (value is string) { return(value); } if (value is double) { return(value); } if (value is bool) { return(value); } if (value is XPathNavigator) { return(value); } if (value is int) { return((double)(int)value); } if (value == null) { _queryIterator = XPathEmptyIterator.Instance; return(this); // We map null to NodeSet to let $null/foo work well. } ResetableIterator resetable = value as ResetableIterator; if (resetable != null) { // We need Clone() value because variable may be used several times // and they shouldn't _queryIterator = (ResetableIterator)resetable.Clone(); return(this); } XPathNodeIterator nodeIterator = value as XPathNodeIterator; if (nodeIterator != null) { _queryIterator = new XPathArrayIterator(nodeIterator); return(this); } IXPathNavigable navigable = value as IXPathNavigable; if (navigable != null) { return(navigable.CreateNavigator()); } if (value is short) { return((double)(short)value); } if (value is long) { return((double)(long)value); } if (value is uint) { return((double)(uint)value); } if (value is ushort) { return((double)(ushort)value); } if (value is ulong) { return((double)(ulong)value); } if (value is float) { return((double)(float)value); } if (value is decimal) { return((double)(decimal)value); } return(value.ToString()); }