DOM使用の基本(JavaScript形式)

JavaScriptを使いDOMを操作する基本的な手順

  1. ActiveXObject("MSXML2.DOMDocument")関数を使い、空のDOMDocumentオブジェクトを生成しドキュメントオブジェクト変数に代入する。
  2. async(非同期)プロパティをfalse、即ち同期処理に設定する。非同期のままだとloadメソッドが完了しないうちに次の処理に移ろうとし、エラーが発生する。そこで通常はfalseに設定しておく。これで同期処理、即ちメモリへXML文書の読み込み完了を待って次の処理に移る。
  3. loadメソッドでxmlファイル/xslファイルをメモリに読み込み、ドキュメントオブジェクト変数に格納する。
  4. この変数(実際は、メモリ上に展開されたDOMツリー)を操作し、XML文書を操る。

[サンプルHTML文書を表示](下のフレームに)

HTMLソース

<SCRIPT language="JavaScript"><!--
function test(){
var xmlobj=new ActiveXObject("MSXML2.DOMDocument");
xmlobj.async=false;
xmlobj.load("dom01.xml");
//ロードしたDocumentオブジェクトのルート要素名を表示する
alert(xmlobj.documentElement.nodeName);
//ロードしたDocumentオブジェクトの全内容をxmlプロパティを使い表示する
alert(xmlobj.xml);
//ロードしたDocumentオブジェクトのテキストをtextプロパティを使い表示する
alert(xmlobj.text);
}
//--></SCRIPT>
</HEAD>

<BODY>
<P>XML文書のルート要素名,XML文書内容の全体、XML文書のテキスト全体を
<button onclick="test()"> 表示 </button>する。</P>

XMLソース

<?xml version="1.0" encoding="Shift_JIS" ?>
<家系>
 <title>タイトル</title>
 <叔父>叔父さん
  <従姉妹>叔父さんの娘</従姉妹>
 </叔父>
 <親>お父さんお母さん
  <姉>お姉さん
   <おい>お姉さんの息子</おい>
  </姉>
  <私>おいら
   <長男>長男
    <孫1>長男の娘
     <曾孫>長男の娘の子</曾孫>
    </孫1>
   </長男>
   <長女>長女
    <孫2>長女の息子</孫2>
   </長女>
   <次男>次男</次男>
  </私>
  <弟>弟
   <めい>弟の娘</めい>
  </弟>
  <妹>妹</妹>
 </親>
 <叔母>叔母さん
<従兄弟>叔母さんの息子</従兄弟>
</叔母>
<end>以上です(2004/4/19)</end>
</家系>

end(04/4/19)