PHPやJavaScriptなどの覚え書き、たまに愚痴、反省など。
XML文字列をDOMエレメントに変換する
先日公開したJavaScriptでクロスドメインでのXMLアクセスを可能にするライブラリ「CrossOver」は、コールバック関数への引数がXML形式のテキストデータです。
DOMオブジェクトで戻せば余計な処理をゴリゴリ書く必要がなくて、親切だったのかもしれませんが、XML.ObjTreeなどの他の優秀なライブラリとの連携を前提にすることで、最小限の機能だけを提供することが可能になり、信頼性の確保が可能になると考えました。
それに実は私、アクションスクリプトは詳しくありません。
ただ、そうはいっても、やっぱりDOM操作をゴリゴリやりたいという声も多いようなので、XML形式のテキストデータをDOMオブジェクトに変換する関数を書いておきます。
// xmlStringをDOMオブジェクトに変換
function parseFromString( xml ){
var root;
if ( window.DOMParser ) {
var xmldom = new DOMParser();
xmldom.async = false;
var dom = xmldom.parseFromString( xml, "application/xml" );
if ( ! dom ) return;
root = dom.documentElement;
} else if ( window.ActiveXObject ) {
xmldom = new ActiveXObject('Microsoft.XMLDOM');
xmldom.async = false;
xmldom.loadXML( xml );
root = xmldom.documentElement;
}
return root;
}
CrossOverで定義したコールバック関数に渡された値を上記関数に渡してやると、戻り値がDOMオブジェクトに変身します。
| この記事は miya によって 2009 年 4 月 24 日 2:01 PM に投稿されました, CrossOver 以下に保存されています。 RSS 2.0 を通してコメントをフォローする。 コメントを残すか、ご自分のサイトからトラックバックできます。 |
コメント無し
トラックバックはありません。
Additional comments powered by BackType

