Exemplo n.º 1
0
        internal bool ContentsEqual(XContainer e)
        {
            if (content == e.content)
            {
                return(true);
            }
            string s = GetTextOnly();

            if (s != null)
            {
                return(s == e.GetTextOnly());
            }
            XNode n1 = content as XNode;
            XNode n2 = e.content as XNode;

            if (n1 != null && n2 != null)
            {
                n1 = n1.next;
                n2 = n2.next;
                while (true)
                {
                    if (CollectText(ref n1) != e.CollectText(ref n2))
                    {
                        break;
                    }
                    if (n1 == null && n2 == null)
                    {
                        return(true);
                    }
                    if (n1 == null || n2 == null || !n1.DeepEquals(n2))
                    {
                        break;
                    }
                    n1 = n1 != content ? n1.next : null;
                    n2 = n2 != e.content ? n2.next : null;
                }
            }
            return(false);
        }
 public static bool DeepEquals(XNode n1, XNode n2)
 {
     return ((n1 == n2) || (((n1 != null) && (n2 != null)) && n1.DeepEquals(n2)));
 }
Exemplo n.º 3
0
 public static bool DeepEquals(XNode n1, XNode n2)
 {
     if (n1 == n2) return true;
     if (n1 == null || n2 == null) return false;
     return n1.DeepEquals(n2);
 }
Exemplo n.º 4
0
 public static bool DeepEquals(XNode n1, XNode n2)
 {
     return((n1 == n2) || (((n1 != null) && (n2 != null)) && n1.DeepEquals(n2)));
 }