[feat] 支持民政部2024版行政区划,增加5个地区
This commit is contained in:
parent
003d441d40
commit
6f8a919a7a
|
@ -749,7 +749,7 @@ public partial class Area : Entity<Area>
|
|||
|
||||
// 分析数据
|
||||
var ss = html[s..e].Split("<td", "</td>");
|
||||
if (ss.Length > 4)
|
||||
if (ss.Length >= 6)
|
||||
{
|
||||
var id = ss[3];
|
||||
var p2 = id.LastIndexOf('>');
|
||||
|
@ -765,6 +765,7 @@ public partial class Area : Entity<Area>
|
|||
else
|
||||
name = name[(p3 + 1)..];
|
||||
}
|
||||
name = name?.Trim().Trim('*').Trim();
|
||||
|
||||
if (!id.IsNullOrEmpty() && id.ToInt() > 10_00_00 && !name.IsNullOrEmpty())
|
||||
{
|
||||
|
@ -911,7 +912,8 @@ public partial class Area : Entity<Area>
|
|||
{
|
||||
//if (url.IsNullOrEmpty()) url = "http://www.mca.gov.cn/article/sj/xzqh/2020/2020/2020092500801.html";
|
||||
//if (url.IsNullOrEmpty()) url = "https://www.mca.gov.cn/mzsj/xzqh/2022/202201xzqh.html";
|
||||
if (url.IsNullOrEmpty()) url = "http://x.newlifex.com/202301xzqh.html";
|
||||
//if (url.IsNullOrEmpty()) url = "http://x.newlifex.com/202301xzqh.html";
|
||||
if (url.IsNullOrEmpty()) url = "http://x.newlifex.com/data/202401xzqh.html";
|
||||
|
||||
var http = new HttpClient();
|
||||
var html = Task.Run(() => http.GetStringAsync(url)).Result;
|
||||
|
|
|
@ -213,6 +213,22 @@ public class AreaTests
|
|||
Assert.True(File.Exists(file));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async void Download2024()
|
||||
{
|
||||
//var url = "http://www.mca.gov.cn/article/sj/xzqh/2020/2020/2020092500801.html";
|
||||
//var url = "http://x.newlifex.com/202301xzqh.html";
|
||||
var url = "http://x.newlifex.com/data/202401xzqh.html";
|
||||
var file = "area2024.html".GetFullPath();
|
||||
//if (!File.Exists(file))
|
||||
{
|
||||
var http = new HttpClient();
|
||||
await http.DownloadFileAsync(url, file);
|
||||
}
|
||||
|
||||
Assert.True(File.Exists(file));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseTest()
|
||||
{
|
||||
|
@ -228,6 +244,21 @@ public class AreaTests
|
|||
Assert.True(rs.Count > 3000);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseTest2024()
|
||||
{
|
||||
var file = "area2024.html".GetFullPath();
|
||||
var txt = File.ReadAllText(file);
|
||||
//foreach (var item in Area.Parse(txt))
|
||||
//{
|
||||
// XTrace.WriteLine("{0} {1}", item.ID, item.Name);
|
||||
//}
|
||||
|
||||
var rs = Parse(txt).ToList();
|
||||
Assert.NotNull(rs);
|
||||
Assert.True(rs.Count > 3000);
|
||||
}
|
||||
|
||||
//[Fact]
|
||||
//public void ParseLevel4Test()
|
||||
//{
|
||||
|
@ -246,11 +277,11 @@ public class AreaTests
|
|||
[Fact]
|
||||
public void ParseAndSave()
|
||||
{
|
||||
var file = "area.html".GetFullPath();
|
||||
var file = "area2024.html".GetFullPath();
|
||||
var txt = File.ReadAllText(file);
|
||||
|
||||
var rs = Area.ParseAndSave(txt);
|
||||
Assert.Equal(3208, rs.Count);
|
||||
Assert.Equal(3213, rs.Count);
|
||||
|
||||
var r = Area.Find(_.ParentID == 0 & _.Name == "上海");
|
||||
Assert.NotNull(r);
|
||||
|
@ -274,7 +305,7 @@ public class AreaTests
|
|||
Area.Meta.Session.Truncate();
|
||||
var rs = Area.FetchAndSave();
|
||||
//Assert.Equal(3208, rs);
|
||||
Assert.Equal(3217, rs);
|
||||
Assert.Equal(3222, rs);
|
||||
|
||||
var r = Area.Find(_.ParentID == 0 & _.Name == "上海");
|
||||
Assert.NotNull(r);
|
||||
|
@ -324,7 +355,7 @@ public class AreaTests
|
|||
|
||||
var rs = Area.Export(file);
|
||||
XTrace.WriteLine("rs={0}", rs);
|
||||
Assert.Equal(46558, rs);
|
||||
Assert.Equal(46565, rs);
|
||||
Assert.True(File.Exists(file.GetFullPath()));
|
||||
|
||||
//File.Delete(file.GetFullPath());
|
||||
|
|
Loading…
Reference in New Issue