自作ソフトの開発日記

自分用に作ったソフトの配布や、作成時に知ったことのメモを残していきます

[C#]Yahoo!天気RSSから天気を取得する(2)[メモ]

前回↓から引き続き、Yahoo!RSSから天気を取得してみる。

[C#]Yahoo!天気RSSから天気を取得する(1)[メモ] - 自作ソフトの開発日記

 

簡単にではありますが、形にはなりました。

f:id:S-Parakeet5488:20170727172230p:plain

 

あとできることと言えば、天候をif文で取得してポップな画像で表示させるとか、気温を独立させて表示させるとかですかね。

「-」から「/」までの間と、「/」以降の数字を別々で読み取って、一桁の気温でも対応できるようにif文を書けばいけそう・・・かな?

 以下はコードです。

{
    XmlDocument XD = new XmlDocument();
    XD.Load("https://rss-weather.yahoo.co.jp/rss/days/4410.xml");

    XmlNode Xroot = XD.DocumentElement;
    XmlNode A = Xroot.SelectSingleNode("channel/title"); // Yahoo!天気・災害 - 東京(東京)の天気
    string chiiki1 = Convert.ToString(A.InnerText).Remove(0, 14); // 東京(東京)の天気
    string chiiki2 = chiiki1.Remove(2, 4); // 東京の天気
    label1.Text = chiiki2;

    // =========================
    XmlNode B1 = Xroot.SelectSingleNode("channel/item[1]/title"); //【 26日(水) 東京(東京) 】 雨後曇 - 28℃/24℃ - Yahoo!天気・災害
    string itemtitle1 = Convert.ToString(B1.InnerText);
    int pos1 = itemtitle1.IndexOf(" 東京(");
    itemtitle1 = itemtitle1.Remove(pos1); // " 東京("からうしろを削除
    itemtitle1 = itemtitle1.Remove(0, 2); // 先頭の"【"を削除
    label2.Text = Convert.ToString(itemtitle1);


    XmlNode C1 = Xroot.SelectSingleNode("channel/item[1]/description");
    label3.Text = Convert.ToString(C1.InnerText);

    // =========================
    XmlNode B2 = Xroot.SelectSingleNode("channel/item[2]/title");
    string itemtitle2 = Convert.ToString(B2.InnerText);
    int pos2 = itemtitle2.IndexOf(" 東京(");
    itemtitle2 = itemtitle2.Remove(pos2);
    itemtitle2 = itemtitle2.Remove(0, 2);
    label4.Text = Convert.ToString(itemtitle2);


    XmlNode C2 = Xroot.SelectSingleNode("channel/item[2]/description");
    label5.Text = Convert.ToString(C2.InnerText);

    // =========================
    XmlNode B3 = Xroot.SelectSingleNode("channel/item[3]/title");
    string itemtitle3 = Convert.ToString(B3.InnerText);
    int pos3 = itemtitle3.IndexOf(" 東京(");
    itemtitle3 = itemtitle3.Remove(pos3);
    itemtitle3 = itemtitle3.Remove(0, 2);
    label6.Text = Convert.ToString(itemtitle3);


    XmlNode C3 = Xroot.SelectSingleNode("channel/item[3]/description");
    label7.Text = Convert.ToString(C3.InnerText);

    // =========================
    XmlNode B4 = Xroot.SelectSingleNode("channel/item[4]/title");
    string itemtitle4 = Convert.ToString(B4.InnerText);
    int pos4 = itemtitle4.IndexOf(" 東京(");
    itemtitle4 = itemtitle4.Remove(pos4);
    itemtitle4 = itemtitle4.Remove(0, 2);
    label8.Text = Convert.ToString(itemtitle4);


    XmlNode C4 = Xroot.SelectSingleNode("channel/item[4]/description");
    label9.Text = Convert.ToString(C4.InnerText);

    // =========================
    XmlNode B5 = Xroot.SelectSingleNode("channel/item[5]/title");
    string itemtitle5 = Convert.ToString(B5.InnerText);
    int pos5 = itemtitle5.IndexOf(" 東京(");
    itemtitle5 = itemtitle5.Remove(pos5);
    itemtitle5 = itemtitle5.Remove(0, 2);
    label10.Text = Convert.ToString(itemtitle5);


    XmlNode C5 = Xroot.SelectSingleNode("channel/item[5]/description");
    label11.Text = Convert.ToString(C5.InnerText);

    // =========================
    XmlNode B6 = Xroot.SelectSingleNode("channel/item[6]/title");
    string itemtitle6 = Convert.ToString(B6.InnerText);
    int pos6 = itemtitle6.IndexOf(" 東京(");
    itemtitle6 = itemtitle6.Remove(pos6);
    itemtitle6 = itemtitle6.Remove(0, 2);
    label12.Text = Convert.ToString(itemtitle6);


    XmlNode C6 = Xroot.SelectSingleNode("channel/item[6]/description");
    label13.Text = Convert.ToString(C6.InnerText);

    // =========================
    XmlNode B7 = Xroot.SelectSingleNode("channel/item[7]/title");
    string itemtitle7 = Convert.ToString(B7.InnerText);
    int pos7 = itemtitle7.IndexOf(" 東京(");
    itemtitle7 = itemtitle7.Remove(pos7);
    itemtitle7 = itemtitle7.Remove(0, 2);
    label14.Text = Convert.ToString(itemtitle7);


    XmlNode C7 = Xroot.SelectSingleNode("channel/item[7]/description");
    label15.Text = Convert.ToString(C7.InnerText);

    // =========================
    XmlNode B8 = Xroot.SelectSingleNode("channel/item[8]/title");
    string itemtitle8 = Convert.ToString(B8.InnerText);
    int pos8 = itemtitle8.IndexOf(" 東京(");
    itemtitle8 = itemtitle8.Remove(pos8);
    itemtitle8 = itemtitle8.Remove(0, 2);
    label16.Text = Convert.ToString(itemtitle8);


    XmlNode C8 = Xroot.SelectSingleNode("channel/item[8]/description");
    label17.Text = Convert.ToString(C8.InnerText);
}