Author:
水如烟
总目录:
行政区划数据方案设计
这里所说的网上数据,是基于:
一、有固定网址发布最新数据的链接;
二、数据格式固定。
在去年的10月,曾写了个《全国县及县以上行政区划代码信息类 》
见: http://www.cnblogs.com/LzmTW/archive/2005/10/22/260066.html
现在仍以行政区划代码数据为例。
行政区划代码数据由国家统计局发布,网址为
http://www.stats.gov.cn/tjbz/xzqhdm/index.htm
数据格式是固定的:
如最新的为2005年12月31日
http://www.stats.gov.cn/tjbz/xzqhdm/t20041022_402301029.htm
最旧的为2001年10月的,
http://www.stats.gov.cn/tjbz/xzqhdm/t20021125_46781.htm
但是有例外,这在代码中说。
方案组织:

效果:

以下为代码:
NetConst.vb
Namespace
NET
Public Class NetConst
Private Sub New ()
End Sub
Public Const GOV_DEFAULT As String = " www.stats.gov.cn "
Public Const GOV_ADDRESS As String = " http://www.stats.gov.cn/tjbz/xzqhdm/ "
Public Const WEBTABLE_INDEX As String = " 9 "
End Class
End Namespace
Public Class NetConst
Private Sub New ()
End Sub
Public Const GOV_DEFAULT As String = " www.stats.gov.cn "
Public Const GOV_ADDRESS As String = " http://www.stats.gov.cn/tjbz/xzqhdm/ "
Public Const WEBTABLE_INDEX As String = " 9 "
End Class
End Namespace
NetInformation.vb
Imports
System.Net
Imports System.IO
Imports System.Text.RegularExpressions
Namespace NET
Public Class NetInformation
Private gNetUpdateInformations( - 1 ) As NetUpdateInformationItem
Public ReadOnly Property UpdateInformationsTable() As DataTable
Get
Return GetUpdateInformationsTable()
End Get
End Property
Private Function GetUpdateInformationsTable() As DataTable
Dim mDataTable As New DataTable( " UpdateInformations " )
With mDataTable
.Columns.Add( " Address " )
.Columns.Add( " LastDate " )
For Each item As NetUpdateInformationItem In gNetUpdateInformations
.Rows.Add( New String () {item.Address, item.LastDate})
Next
.AcceptChanges()
End With
Return mDataTable
End Function
Public Sub DownloadInformationsFromNet()
Dim mRegex As New Regex( " (?<date>2.*日) " )
Dim mNetUpdateItems As NetUpdateItem() = GetNetUpdateItems()
Dim mNetUpdateInformationItem As NetUpdateInformationItem
Dim tmp As NetUpdateItem
'
Imports System.IO
Imports System.Text.RegularExpressions
Namespace NET
Public Class NetInformation
Private gNetUpdateInformations( - 1 ) As NetUpdateInformationItem
Public ReadOnly Property UpdateInformationsTable() As DataTable
Get
Return GetUpdateInformationsTable()
End Get
End Property
Private Function GetUpdateInformationsTable() As DataTable
Dim mDataTable As New DataTable( " UpdateInformations " )
With mDataTable
.Columns.Add( " Address " )
.Columns.Add( " LastDate " )
For Each item As NetUpdateInformationItem In gNetUpdateInformations
.Rows.Add( New String () {item.Address, item.LastDate})
Next
.AcceptChanges()
End With
Return mDataTable
End Function
Public Sub DownloadInformationsFromNet()
Dim mRegex As New Regex( " (?<date>2.*日) " )
Dim mNetUpdateItems As NetUpdateItem() = GetNetUpdateItems()
Dim mNetUpdateInformationItem As NetUpdateInformationItem
Dim tmp As NetUpdateItem
'