読者です 読者をやめる 読者になる 読者になる

DOMを利用してXMLファイルを読む その1

android用のアプリを書くために、いまさらJavaを勉強中...われながらイケてない...

ここでは、DOM(Document Object Model)を使ったXMLファイルのパース方法を備忘録としてメモ。


■ DOMの長所と短所

DOMは読み込んだXML形式のデータを木構造で保持できる。
ただし、木構造でデータを保持するために、XMLファイルの大きさに比例してメモリを使ってしまうのが問題。

androidアプリの設定ファイル程度なら、それほど大きなサイズは必要ないのでDOMで十分(のハズ)。
勉強がてらインターネットラジオのタイトルとURLを記録したXMLファイルを読み込んだデータを保持(読み込んで、そのまま表示ってのは芸が無いので)してから、それを表示するプログラムを考えてみる。



まずは、XMLデータ構造と、読み込んだデータを保持するクラスから。

■ 読み込むXMLファイル(インターネットラジオのタイトルとURL)

ファイル名は test.xml とした。

<?xml version="1.0" encoding="utf-8"?>
<all_channels>
    <channel>
        <title>KJazz 88.1 FM</title>
        <url>http://www.jazzandblues.org/programming/listen/stream/</url>
    </channel>

    <channel>
        <title>KMHD 89.1</title>
        <url>http://www.kmhd.org/player/</url>
    </channel>

    <channel>
        <title>JAZZ.FM91</title>
        <url>http://www.jazz.fm/player/streams/stream_one.htm</url>
    </channel>
</all_channels>


■ 読み込んだデータ構造(タイトルとURL)を保持するChannelクラスの定義

class Channel {
    private String title;
    private String url;

    public Channel() {
        this.title = null;
        this.url   = null;
    }
    public void set_title(String buff) {
        this.title = buff;
    }
    public void set_url(String buff) {
        this.url = buff;
    }
    public String get_title() {
        return this.title;
    }
    public String get_url() {
        return this.url;
    }
}