TECH I.S.

XMLアプリケーション


この章では、XML、HTTP、DOM、およびJavaScriptを使用したいくつかのHTMLアプリケーションについて説明します。


使用されるXMLドキュメント

この章では、次のXMLファイルを使用します。「cd_catalog.xml」


HTMLテーブルにXMLデータを表示する

この例では、各<CD>要素をループし、<ARTIST>要素と<TITLE>要素の値をHTMLテーブルに表示します。

<table id="demo"></table> <script> function loadXMLDoc() {   const xhttp = new XMLHttpRequest();   xhttp.onload = function() {     const xmlDoc = xhttp.responseXML;     const cd = xmlDoc.getElementsByTagName("CD");     myFunction(cd);   }   xhttp.open("GET", "cd_catalog.xml");   xhttp.send(); } function myFunction(cd) {   let table="<tr><th>Artist</th><th>Title</th></tr>";   for (let i = 0; i < cd.length; i++) {     table += "<tr><td>" +     cd[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue +     "</td><td>" +     cd[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue +     "</td></tr>";   }   document.getElementById("demo").innerHTML = table; } </script> </body> </html>

自分で試してみる »

JavaScriptとXMLDOMの使用の詳細については、次のWebサイトを参照してください。DOMの概要


HTML div要素で最初のCDを表示する

この例では、関数を使用して、id="showCD"を持つHTML要素の最初のCD要素を表示します。

const xhttp = new XMLHttpRequest(); xhttp.onload = function() {   const xmlDoc = xhttp.responseXML;   const cd = xmlDoc.getElementsByTagName("CD");   myFunction(cd, 0); } xhttp.open("GET", "cd_catalog.xml"); xhttp.send(); function myFunction(cd, i) {   document.getElementById("showCD").innerHTML =   "Artist: " +   cd[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue +   "<br>Title: " +   cd[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue +   "<br>Year: " +   cd[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue; }

自分で試してみる »


CD間を移動する

上記の例でCD間を移動するには、next()previous()関数を作成します。

function next(){   // display the next CD, unless you are on the last CD  if (i < len-1) {     i++;     displayCD(i);   } } function previous(){   // display the previous CD, unless you are on the first CD  if (i > 0) {     i--;     displayCD(i);   } }

自分で試してみる »


CDをクリックしたときにアルバム情報を表示する

最後の例は、ユーザーがCDをクリックしたときにアルバム情報を表示する方法を示しています。

function displayCD(i) {   document.getElementById("showCD").innerHTML =   "Artist: " +   cd[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue +   "<br>Title: " +   cd[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue +   "<br>Year: " +   cd[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue; }

自分で試してみる »



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細