var url = "https://status.azure.com/zh-tw/status";
var web = new HtmlAgilityPack.HtmlWeb();
var doc = web.Load(url);
var zones = doc.DocumentNode.SelectNodes("//div[@class='zones-tabs']/ul/li").ToList();
foreach (var z in zones)
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine(z.InnerText.Trim().ToString());
Console.ResetColor();
var subTableId = z.GetAttributeValue("data-zone-name", "").Trim();
var subZones = doc.DocumentNode.SelectNodes("//table[@data-zone-name='" + subTableId + "']/thead/tr/th").ToList();
foreach (var sub in subZones.Skip(1))
{
Console.WriteLine(" " + sub.InnerText.Trim().ToString());
}
}
result:
這就把事情變得簡單很多,我只是簡單玩一下就上手了,就不用一值透過 regex 來 parse 資料
--
The bug existed in all possible states.
Until I ran the code.