C# .Net MVC 組字串撈XML資料(判斷日期&時間)&不足位元補0(或其他數字) (一)

  • 289
  • 0
  • 2018-08-29

4J樣的,工作上需要寫個東西定期讀取線上的DATA

於是乎用組字串的方式去撈資料

這是要撈的目標網址

http://ABC/xmlfile/HeeHee/20180816/HAHAHA_0000.xml

那摩我們該怎毛用組字串的方式去撈ㄋ?


 

4J樣的,工作上需要寫個東西定期讀取線上的DATA

於是乎用組字串的方式去撈資料

這是要撈的目標網址

http://ABC/xmlfile/HeeHee/20180816/HAHAHA_0000.xml

那摩我們該怎毛用組字串的方式去撈ㄋ?

 

好得,假射今天這個XML每天會換不同資料夾(以日期區分),

每10分鐘產生一次檔案(以.xml前面的OOOO表示時間,如0600就是洞六洞洞,部隊起床 風雲騎真誠癢)

那麼我們需要動態產生的資訊有

1.20180816(讓系統偵測今天是幾號,然後去抓取對應路徑 即日期區分的資料夾)

2.10分鐘產生一次的檔案

 

好得文西,第一點的做法如下

var Today = DateTime.Now.ToString("yyyyMMdd");  //J格意思就是抓取現在的時間,轉為String,並且表示方式是歪歪歪歪月月爹爹

正常來說會顯示20180816,如果你的顯示19000101。很好你那邊還來得及,叫慈禧不要亂嘴砲就不會有八國聯軍。

 

欄後第二點的做法如下

 var RigntNow = DateTime.Now.ToString("HHmm");//.ToString("HHmm");

這邊就是抓取現在,當下的時間,並且表示為時時分分,注意這邊不要打成MM  MM是月月

 

好得文西,那麼J下來重頭戲之一

 

如何讓他判別現在,rghitNow,金罵,今,в настоящее время,autem,Maintenant是什麼時間,並且要抓取十分鐘產生一次的檔案

我們該怎麼做呢?如果十分鐘產生一次XML檔案,那麼可以預期的是,線上會有21:00、21:10、21:20、21:30、21:40、21:50等六份檔案

假設現在是21:50,兩么五洞,寢室熄燈。

我們該怎麼做,該怎麼做!!!!!!!(沒4 壓力太大)

 

int Now4 =( (Convert.ToInt32(RigntNow) / 10) * 10);  //int Now4來裝計算後的時間點

後面這串就是,剛才辣個RightNow先轉乘捷運,不是,轉成INT然後就可以計算

威蛇摩是除以十呢,因為他十分鐘產生一次阿,那威蛇摩要再誠實呢,因為誠實為上策阿哦不是啦

你驗算看看

假設兩么五洞的檔案, 在String時是2150,除以10就是215,再乘以10就是2150,這樣看起來是不是很低能呢?

好 那改成每5分鐘產生一次檔案,算式就會改成int NowData =( (Convert.ToInt32(RigntNow) / 5) * 5)

假設兩么五洞的檔案, 在String時是2150,除以5就是430,再乘以5就是2150,這樣看起來484很峨嵋性呢?

好那假如今天是2152,怎麼辦?說阿怎麼辦你說啊!

好得文西,你再算算看 (2152/5)*5 = 430餘2,去餘數再*5,你問我那個餘2要幹嘛我也不知道要幹嘛

21:52要抓哪個檔案? 21:50阿,那餘二重要嗎?不重要阿!

好那再算算看21:56的檔案,2156除五去餘數,再乘五2156/5 = 431,  431*5 =2155 就會去抓2155的檔案,是不是很峨嵋zing?

 

好惹最後是重重頭頭戲戲之一

怎麼去組字串撈http://ABC/xmlfile/HeeHee/20180816/HAHAHA_0000.xml這個鬼東C?

 string GetNowData = Convert.ToString(Now);//把計算後的NOW轉成string才能放進下面要組的網址

String Url = "http://ABC/xmlfile/HeeHee/" +Today + "/HAHAHA_" + Now + ".xml" 

"http://ABC/xmlfile/HeeHee/"   &   "/HAHAHA_"  &  ".xml" 是固定寫死的

動態產生的部分就是日期跟時間,也就是剛才花很多時間驗證的。

 

阿有個情況,如果現在時間,0800,C#會很好(ㄐㄧ)心(ㄆˊ)的幫你去掉前面那個零,

你抓到的字串就會變成http://ABC/xmlfile/HeeHee/20180816/HAHAHA_800.xml,網址不同抓不到爆炸,蚌。

那我們該怎麼做ㄋ?

 string GetNowData = Convert.ToString(IntNowData).PadLeft(4,'0');//總數四位,不足補'0'

可以查一下PadLeft的用法,總之加上這個他就會幫你補零

 

那麼截至目前就可以正確產生,今日今時的時間惹,加上寫死的部分就是一個可抓取的網址。

至於怎麼抓,下吉待SHE。