File Maker (ファイルメーカー) はデータベースソフトです(
ファイルメーカー社のページ)。ここではFile Maker Pro 7で出力したXMLデータを表示してみます。Excelの場合と異なりFile Maker Pro 7が出力するXML形式のファイルにはタグの間に改行や空白が一切入っていません。このため、Internet Explorer 6とFirefox, Safari, Operaとの違いを気にせずにスクリプトを作成できます。(実際に
使用するデータと元データを参照。Safariで文字化けを起こさないようにするためBOM (Byte Order Mark) を付けてあります)
 File Maker Pro 7のXMLデータのドキュメントツリーは以下のようになっています。
ROW
 ┗COL
  ┗DATA
 getElemntByTagNameでROWタグの情報を取得します。ROWタグの最初のノードがCOLタグになります。ROWタグオブジェクトデータがrowObjに入っているのであればrowObj.childNodes[0]でCOLタグを参照できます。COLタグの最初のノードがDATAタグになります。これはrowObj.childNodes[0].childNodes[0]になります。DATAタグの間に抽出するデータが入っています。このデータを参照するにはrowObj.childNodes[0].childNodes[0].childNodes[0].nodeValueとなります。ROWタグ内のデータがデータベースの1レコードに該当します。あとは、参照するノードの位置を変えてデータを読み出します。
			<html>
			<head>
			<meta http-equiv="content-type" content="text/html;charset=shift_jis">
			<title>ファイルメーカーのXMLデータを表示する</title>
			<script type="text/javascript" src="xmlhttp.js"></script>
			<script type="text/javascript"><!--
			function loadDataFile(fName)
			{
			 httpObj = createXMLHttpRequest(displayData);
			 if (httpObj)
			 {
			  httpObj.open("GET",fName,true);
			  httpObj.send(null);
			 }
			}
			function displayData()
			{
			 if ((httpObj.readyState == 4) && (httpObj.status == 200))
			 {
			  $("result").innerHTML = parseFM(httpObj.responseXML);
			 }
			}
			// ファイルメーカーのXMLデータを解析して表示
			function parseFM(fmpXML)
			{
			 var rowObj = fmpXML.getElementsByTagName("ROW");
			 var result = "<table border='1' bordercolor='black'>";
			 for (h=0; h<rowObj.length; h++)
			 {
			  result += "<tr>";
			  colObj = rowObj[h].childNodes;
			  for (w=0; w<colObj.length; w++)
			  {
			   var n = colObj[w].childNodes[0].childNodes[0].nodeValue;
			   result += "<td>"+n+"</td>";
			  }
			  result += "</tr>";
			 }
			 result += "</table>";
			 return result;
			}
			// --></script>
			</head>
			<body>
			<h1>ファイルメーカーのXMLデータを表示する</h1>
			<p>ファイルメーカーのXMLデータを読み込み表示します</p>
			<form name="ajaxForm">
			<input type="button" value="sample.xmlを読み込み" onClick="loadDataFile('sample.xml')"><br>
			</form>
			<div id="result"></div>
			</body>
			</html>
 File Maker Pro 7のXMLデータを取り扱うのは簡単です。これによりデータベースのデータを再利用することができるでしょう。次項ではJSONのデータを表示してみます。
[
第三章 6:JSONのデータを表示するへ]
[
目次へ]
(2006.1.6)