Esempio n. 1
0
        ///// <summary>
        ///// 省级信息
        ///// </summary>
        ///// <returns></returns>
        //private bool GetProvince(string domCode, out string areaId, out string areaName)
        //{
        //    string _pattern = "[\\d{6}]+";

        //    areaId = MatchHelper.GetString(domCode, _pattern);
        //    areaName = MatchHelper.RemoveHtmlTag(domCode);

        //    return !string.IsNullOrWhiteSpace(areaId);
        //}

        ///// <summary>
        ///// 市/区信息
        ///// </summary>
        ///// <returns></returns>
        //private bool GetCity(string domCode, out string areaId, out string areaName)
        //{
        //    string _pattern = "[\\d{6}]+";

        //    areaId = MatchHelper.GetString(domCode, _pattern);
        //    areaName = MatchHelper.RemoveHtmlTag(domCode);

        //    return !string.IsNullOrWhiteSpace(areaId);
        //}

        ///// <summary>
        ///// 县
        ///// </summary>
        ///// <returns></returns>
        //private bool GetCounty(string domCode, out string areaId, out string areaName)
        //{
        //    string _pattern = "[\\d{6}]+";

        //    areaId = MatchHelper.GetString(domCode, _pattern);
        //    areaName = MatchHelper.RemoveHtmlTag(domCode);

        //    return !string.IsNullOrWhiteSpace(areaId);
        //}

        ///// <summary>
        ///// 镇
        ///// </summary>
        ///// <returns></returns>
        //private bool GetTown(string domCode, out string areaId, out string areaName)
        //{
        //    string _pattern = "[\\d{6}]+";

        //    areaId = MatchHelper.GetString(domCode, _pattern);
        //    areaName = MatchHelper.RemoveHtmlTag(domCode);

        //    return !string.IsNullOrWhiteSpace(areaId);
        //}

        ///// <summary>
        ///// 村
        ///// </summary>
        ///// <returns></returns>
        //private bool GetVillage(string domCode, out string areaId, out string areaName)
        //{
        //    string _pattern = "[\\d{6}]+";

        //    areaId = MatchHelper.GetString(domCode, _pattern);
        //    areaName = MatchHelper.RemoveHtmlTag(domCode);

        //    return !string.IsNullOrWhiteSpace(areaId);
        //}

        #endregion
        #region 返回区域信息

        /// <summary>
        /// 省级信息
        /// </summary>
        /// <param name="uri">页面URL地址</param>
        /// <param name="domCode">HTML代码</param>
        private void GetProvince(Uri uri, string domCode)
        {
            string _pattern = "<tr class=(\"|')provincetr(\"|')>([\\s\\S]*?)<\\/tr>";

            string[] _trDoms = MatchHelper.GetStrings(domCode, _pattern);

            foreach (string _trDomStr in _trDoms)
            {
                ArrayList _alLinks = MatchHelper.GetHTMLATag(_trDomStr);
                foreach (object item in _alLinks)
                {
                    string _strCUrl  = MatchHelper.GetHrefString(item.ToString());
                    string _areaId   = MatchHelper.GetNumber(item.ToString());
                    string _areaName = MatchHelper.RemoveHtmlTag(item.ToString());

                    TreeNode _treeNode = new TreeNode()
                    {
                        Text = $"{_areaName}({_areaId})"
                    };
                    AddNodeToAreaTreeView(_treeNode, null);

                    if (_treeNode != null)
                    {
                        // 获取下级区域信息,如果有则加载
                        Uri _uriChildren; // 下级区域的Url地址
                        if (Uri.TryCreate(uri, _strCUrl, out _uriChildren))
                        {
                            string _url = _uriChildren.AbsoluteUri;

                            // 获取数据
                            string _childrenPageDom = _httpHelper.GetHtml(_url, encode, false);

                            if (!string.IsNullOrWhiteSpace(_childrenPageDom) && !_childrenPageDom.Equals("404"))
                            {
                                GetCity(_uriChildren, _childrenPageDom, _treeNode);
                            }
                        }
                    }
                }
            }
        }