Esempio n. 1
0
 public void Fill()
 {
     if (!src.IsFinished)
     {
         while (src.MoveNext())
         {
             buffer.Add(src.Current.Clone());
         }
     }
 }
Esempio n. 2
0
 public virtual List<XPathItem> ToList()
 {
     XPath2NodeIterator iter = Clone();
     List<XPathItem> res = new List<XPathItem>();
     while (iter.MoveNext())
         res.Add(iter.Current.Clone());
     return res;
 }
Esempio n. 3
0
        public static IEnumerable <Object> SelectValues(string xpath, IXmlNamespaceResolver resolver, IDictionary <XmlQualifiedName, object> vars)
        {
            XPath2NodeIterator iter = XPath2NodeIterator.Create(Compile(xpath, resolver).Evaluate(null, vars));

            while (iter.MoveNext())
            {
                yield return(iter.Current.GetTypedValue());
            }
        }
Esempio n. 4
0
        public static IEnumerable <Object> SelectValues(string xpath, IXmlNamespaceResolver resolver, object arg)
        {
            XPath2NodeIterator iter = XPath2NodeIterator.Create(Compile(xpath, resolver).EvaluateWithProperties(null, arg));

            while (iter.MoveNext())
            {
                yield return(iter.Current.GetTypedValue());
            }
        }
Esempio n. 5
0
        public static IEnumerable <Object> XPath2SelectValues(this XNode node, XPath2Expression expr, object arg)
        {
            XPathNavigator     nav  = node.CreateNavigator();
            XPath2NodeIterator iter = XPath2NodeIterator.Create(nav.XPath2Evaluate(expr, arg));

            while (iter.MoveNext())
            {
                yield return(iter.Current.GetTypedValue());
            }
        }
Esempio n. 6
0
        public static XPathNavigator XPath2SelectSingleNode(this XPathNavigator nav, XPath2Expression expression, object arg)
        {
            XPath2NodeIterator iter = nav.XPath2Select(expression, arg);

            if (iter.MoveNext() && iter.Current.IsNode)
            {
                return((XPathNavigator)iter.Current);
            }
            return(null);
        }
Esempio n. 7
0
        public static XmlNode XPath2SelectSingleNode(this XmlNode node, string xquery, IXmlNamespaceResolver nsmgr, object arg)
        {
            XPathNavigator     nav  = node.CreateNavigator();
            XPath2NodeIterator iter = nav.XPath2Select(xquery, nsmgr, arg);

            if (iter.MoveNext() && iter.Current.IsNode)
            {
                return(NodeList.ToXmlNode((XPathNavigator)iter.Current));
            }
            return(null);
        }
Esempio n. 8
0
 public bool MoveNext()
 {
     if (!iterationStarted)
     {
         current = original.Clone();
         iterationStarted = true;
     }
     if (current != null && current.MoveNext())
         return true;
     current = null;
     return false;
 }
Esempio n. 9
0
        public bool DeepEqual(XPath2NodeIterator iter1, XPath2NodeIterator iter2)
        {
            iter1 = iter1.Clone();
            iter2 = iter2.Clone();
            bool flag1;
            bool flag2;

            do
            {
                flag1 = iter1.MoveNext();
                flag2 = iter2.MoveNext();
                if (flag1 != flag2)
                {
                    return(false);
                }
                else
                if (flag1 && flag2)
                {
                    if (iter1.Current.IsNode != iter2.Current.IsNode)
                    {
                        return(false);
                    }
                    else
                    {
                        if (iter1.Current.IsNode && iter2.Current.IsNode)
                        {
                            if (!NodeEqual((XPathNavigator)iter1.Current, (XPathNavigator)iter2.Current))
                            {
                                return(false);
                            }
                        }
                        else
                        if (!ItemEqual(iter1.Current, iter2.Current))
                        {
                            return(false);
                        }
                    }
                }
            }while (flag1 && flag2);
            return(true);
        }
Esempio n. 10
0
 public override bool MoveNext()
 {
     return(iter.MoveNext());
 }
Esempio n. 11
0
 public bool MoveNext()
 {
     return m_iter.MoveNext();
 }