マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

たまにはJavaしてみる

しばらくプログラミングしていないので軽くプログラミングしてみた。
https://d-kami.hatenablog.com/feed
のXMLをXPath使って記事一覧を取得するプログラムを作った。例外処理はmainでException投げる酷い処理です(だってXPath関連の例外が多すぎるんだもん)

import java.net.URL;

import org.w3c.dom.NodeList;

import javax.xml.xpath.XPathFactory;
import javax.xml.xpath.XPathConstants;

import javax.xml.parsers.DocumentBuilderFactory;

public class Main{
    public static void main(String... args) throws Exception{
        var url = new URL("https://d-kami.hatenablog.com/feed");
        var connection = url.openConnection();

        var factory = DocumentBuilderFactory.newInstance();
        var document = factory.newDocumentBuilder().parse(connection.getInputStream());
        var xpath = XPathFactory.newInstance().newXPath();

        System.out.println(xpath.evaluate("/feed/title/text()", document));
        System.out.println(xpath.evaluate("/feed/author/name/text()", document));
        System.out.println();

        var list = (NodeList)xpath.evaluate("/feed/entry", document, XPathConstants.NODESET);

        for(int i = 0; i < list.getLength(); i++){
            var node = list.item(i);

            System.out.println("---------------------");
            System.out.println(xpath.evaluate("./title/text()", node));
            System.out.println(xpath.evaluate("./content/text()", node));
        }
    }
}