LiveCodingChat.HtmlHelper.getElement C# (CSharp) Метод

getElement() публичный статический Метод

public static getElement ( string data, string element ) : string
data string
element string
Результат string
        public static string getElement(string data,string element)
        {
            string elType = getElementType (element);
            int startEl, endEl,tempEl,searchStart;
            startEl = data.IndexOf (element);
            if (startEl == -1)
                return null;
            searchStart = startEl+ element.Length;
            int stack = 1;
            do {
                endEl = data.IndexOf ("<" + elType, searchStart);
                tempEl = data.IndexOf ("</" + elType, searchStart);
                int dClose = data.IndexOf("/>",searchStart);
                if (dClose != -1 && dClose < tempEl && data.IndexOf("<",searchStart+1) > dClose)
                {
                    if (stack == 1)
                        return data.Substring(startEl,dClose+1-startEl);
                    continue;
                }
                if (endEl != -1 && endEl < tempEl)
                {
                    stack++;
                    searchStart = endEl+1;
                }
                else if(endEl>tempEl || endEl ==-1)
                {
                    if (stack > 1)
                    {
                        stack--;
                        searchStart = tempEl+1;
                        continue;
                    }
                    if (tempEl == -1)
                        return null;
                    tempEl = data.IndexOf(">",tempEl);
                    return data.Substring(startEl,tempEl-startEl+1);
                }

                if (tempEl == -1)
                    return data.Substring (startEl);
            } while(stack > 0);
            return null;
        }

Usage Example

Пример #1
0
        private void EndGetResponse(IAsyncResult res)
        {
            object[]        obj = (object[])res.AsyncState;
            string          username = (string)obj [1], password = (string)obj [2];
            CookieContainer cookies = (CookieContainer)obj [3];

            HttpWebRequest  request  = (HttpWebRequest)obj[0];
            HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(res);
            string          data;   //todo: cookie

            using (System.IO.StreamReader sr = new System.IO.StreamReader(response.GetResponseStream())) {
                data = sr.ReadToEnd();
                data = HtmlHelper.getElement(data, "<form class=\"clearfix\"");
            }

            LoginNormal(username, password, data, ref cookies);
        }
All Usage Examples Of LiveCodingChat.HtmlHelper::getElement