2009-05-08 22 views
5

私は、XMLファイルの内容をJavascript変数に直接ロードする方法を探しています。Javascriptを使用してXMLファイルコンテンツを読み込む方法

/index.html 
/loader.js 
/file.xml 

index.htmlでは、コンテンツXMLファイルの内容に置き換えてください<body>タグ、そこにある:私は、次のディレクトリ構造を持っていると言います。だから、XMLファイルが含まれている場合:

<element> 
    <item>Item One</item> 
    <item>Item Two</item> 
</element> 

はその後、動的負荷後、HTMLは次のようになります。

私の質問は、私はまっすぐに内容をロードするために loader.jsにどのような機能を使用することができている
... 
<body> 
<element> 
... 
</element> 
</body> 
... 

変数?私はXmlHttpRequestsとActiveX XMLDOMパーサを使用しましたが、すべて私の要素を見つけるために並べ替えなければならない構造的なデータモデルを提供しています。私は何かを解析する必要はない、私はちょうどすべてのファイルの内容を取得したい。

注: HTML/Javascriptのみ、サーバー側のコードはありません。

+0

これは普通のJavaScriptとは対照的ですが、フレームワークを使用していますか? (誰かが "jQueryを使う前に" ...) – roryf

答えて

4

私はそれを理解したかもしれないと思います。次はかなりうまく動作するようです:

function loadFileToElement(filename, elementId) 
{ 
    var xmlHTTP = new XMLHttpRequest(); 
    try 
    { 
    xmlHTTP.open("GET", filename, false); 
    xmlHTTP.send(null); 
    } 
    catch (e) { 
     window.alert("Unable to load the requested file."); 
     return; 
    } 

    document.getElementById(elementId).innerHTML=xmlHTTP.responseText; 
} 
+0

これを非同期的に実行することを検討するとよいでしょう。同期AJAXリクエストはブラウザのUIをロックして、ユーザにブラウザがハングアップしているような印象を与えることができます。 –

+0

これはサーバー上ではなくクライアント側から実行されるため、パフォーマンスについてあまり心配していません。デスクトップ上のHTMLファイルをダブルクリックする画像。 –

2

たぶん、あなたは、解析の前にプレーンテキストを持っているXmlHttpRequestsでのresponseTextプロパティを読むことができますか?

関連する問題