こんにちは、本日の学習記録です。
前回まで週間の天気予報は文字列で取得しており、そこから天気予報の画像を出力してましたが、テロップ番号なるものがあり数字3桁で天気を表現しているそうです。
「晴れ時々曇り」等の天気が数字で表現されており、こっちを使うことにしました。
バインドするデータを変更するだけなのでそんなに苦労することなかったです。
続いては最新の週間天気の取得です。
以前までは過去データのURLを文字列に与えてりましたが、
DOMを使ってXMLデータから長野県の最新の週間天気データのリンクを取得して、URLを渡しています。
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
String url = null;
try {
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse("https://www.data.jma.go.jp/developer
NodeList nodeList = doc.getElementsByTagName("id");
for (int i = 0; i < nodeList.getLength(); i++) {
Element element = (Element) nodeList.item(i);
String id = element.getTextContent();
if (id.contains("VPFW50_200000")) {
url = id;
}
}
} catch (Exception e) {
DOMの方がピンポイントで取得できるし使い方も難しくないのでいいですね。
次回以降やること、
・カレンダーを2月分表示させたい
[イメージ]
これは、Thymeleafのeachで2回繰り返しただけですがこんな感じにしたいです。
そのためには、月のデータを2月分用意します。
現在は日付はintで渡している為、天気データが両方取得されます。
これをLocalDateに変更させたいと思っています。