2010-12-19 4 views
0

私はJQueryとXMLを使用しています。JQueryを使用したXML値の表示

私は以下のXMLフォーマットを持っています。

リソースXML:

<?xml version="1.0"?> 
<root xmlns:link="http://www.example.com/tridion"> 
    <data name="LoginAccount" tcm="tcm:233-191754" type="Text"> 
     <value>Login to your Account</value> 
    </data> 
    <data name="Airport" tcm="tcm:233-191754" type="Text"> 
     <value>Airport</value> 
    </data> 
    <data name="BusinessClass" tcm="tcm:233-191754" type="Text"> 
     <value>Business</value> 
    </data> 
</root> 

は今、私は、これらの値は、さらに、例えば、ページにそれらを使用し、最初とロードされるために探していますjQueryのを持っています。

jQueryのコードサンプル:私のアプリケーションは、多言語であるとして上記のjQueryコードで

// Dialog   
    $('#LoginLink').click(function(){ 
     $('#Login').dialog({ 
      autoOpen: true, 
      width: 450, 
      modal: true, 
      title: 'Login to your Account' 
     }); 
     if($('#Login').is(':visible')) { 
      hideSelect(); 
     } else { 
      showSelect(); 
     } 
    }); 

はテキスト「あなたのアカウントへのログインは、」私のリソースXMLから来なければなりません。

このような関数を作成するには、という名前属性の値を渡すだけで、XMLから実際の値をフェッチします。

getDataFromResourceFile( 'LoginAccount');と表示されます。 'アカウントにログイン'

お勧めしますお勧めします!あなたのXMLファイルのためにそれを行うだろう

var xmlData; 
$.ajax({ 
    type: "GET", 
    url: "resources.xml",// your xml file path 
    dataType: "xml", 
    success: function(xml) { 
    xmlData = xml;// set the returned xml into a global variable 
    } 
}); 

その後

function getDataFromResourceFile(resourceKey) 
{ 
    return $(xmlData).find('data[name=' + resourceKey + '] value').text(); 
} 

答えて

0

使用この変数にウルXMLドキュメントをロードするために。使用する前に、XMLデータが変数(xmlData)にロードされているかどうかをチェックする必要があります。

EDIT:それが見つからない場合は、サーバーからXMLをロードするように編集

<script type="text/javascript"> 
    var xmlData; 
    function getDataFromResourceFile(key) 
    { 
     if (xmlData == null) 
     { 
      $.ajax({ 
       type: "GET", 
       url: "resources.xml", 
       dataType: "xml", 
       success: function (xml) 
       { 
        xmlData = xml; 
        return $(xmlData).find('data[name=' + key + '] value').text(); 
       } 
      }); 
     } 
     else 
     { 
      return $(xmlData).find('data[name=' + key + '] value').text(); 
     } 
    } 
</script> 
+0

ありがとうございます@Omkar、「XMLデータが変数(xmlData)に読み込まれているかどうかをチェックする必要があるかもしれません。あなたは例を挙げてください。 –

+0

xmlをajaxリクエスト(非同期)でロードしているので、ファイルがまだ受信されていない可能性があり、$(xmlData).find( 'data [name =' + resourceKey + '] value ')。テキスト(); xmlDataはnullになるため、エラーが発生します。 – Omkar

+0

これにはどんなタイプのチェックが必要ですか、お勧めします! –

関連する問題