XML1つに複数page。

[JavaScript][XML]XML1つに複数page。

 前回は複数のXMLファイルを用意しましたが、今回は1ファイルにしました。


うれしい宿題……かな?

 XMLファイルでは複数の<pages>タグ内の<page>タグを複数にしてあります。


00000000.xml

<?xml version="1.0" encoding="UTF-8" ?>
<pages>
    <page>
        <image>c.jpg</image>
        <text>恋歌:宿題がいっぱいだよぅ</text>
    </page>
    <page>
        <image>c.jpg</image>
        <text>風太:俺んちで一緒にやるか?</text>
    </page>
<!-- 略 -->
</pages>


 getElementsByTagName( "page" )すると、<page>タグ全部を配列として取得できるので、これを上からベタに出力します。


test.js

// 「次に読み込むpage」を格納するグローバル変数。
var nextPage = 0;

// ...

                // <page>を取得します。
                var page 
                    = ajax.responseXML.documentElement.getElementsByTagName( "page" )[nextPage];

// ...

                // ページをインクリメントします。
                ++nextPage;

                if( nextPage == ajax.responseXML.documentElement.getElementsByTagName( "page" ).length )
                {
                    nextPage = 0;
                }


 とりあえずこれで1ファイルにまとまりました。
 実際には、これと複数ファイルの両方に対応させて、さらに1ファイル内でも飛べるようにしたりとかしたりもできるようにしたいなと。