2017-02-15 7 views
0

私が認証したサーバーからのこの応答データがあります。XML内のデータを取得する方法

<session session-guid="D39C1215-2F31-8641-E5T2-C7G35RT69127" user-id="34"> </session> 

どのように私はセッションGUIDとユーザIDの値を取得し、それぞれに1つの変数にそれらを保存することができます。

ありがとうございます。

答えて

1

ためPLNKRデモです。あなたはあなたが欲しいものを見つけるためにquerySelectorAll()の結果にforEachを使用することができますつ以上のセッションのタグを持っている場合は

var session = document.querySelectorAll("session")[0]; 
var session_guid = session.getAttribute("session-guid"); 
var user_id = session.getAttribute("user-id"); 

console.log("session-guid: " + session_guid); 
console.log("user-id: " + user_id); 

:あなたは一つだけsessionタグを持っていると仮定すると例えば

、。 1つのセッション要素しか持たないことがわかっている場合はdocument.querySelectorAll()[0]の代わりにdocument.querySelector()を使用できます。

1

クライアント側の値を取得する方法の1つです。この方法では、あなたは以下のようなあなたの要素に任意のカスタムクラスを追加する必要があります。

さて、タグ内のコードの行の下に書きます:

var $mySession = jQuery(document.getElementsByClassName("mySession")); 
for (i = 0; i < $mySession.length; i++) { 
var sessionguid = jQuery($mySession[i]).attr('session-guid'); 
var userid = jQuery($mySession[i]).attr('user-id'); 
console.log(sessionguid); 
console.log(userid); 
} 

あなたが「sessionguid」の値を確認することができますと "userid"変数をブラウザのコンソールに表示します。

1

ここでは、XMLから必要なデータを取得するためにできることがあります。

function getXMLData(xml) { 
     var txt, xmlDoc; 
     //get the responseXML 
     xmlDoc = xml.responseXML; 
     txt = ""; 
     //get all the session nodes 
     var sessions = xmlDoc.getElementsByTagName("session");//this returns a array of nodes 
     for(var i =0;i<sessions.length;i++){ 
      //iterate over nodes and get the attributes 
      txt += sessions[i].getAttribute("session-guid")+"<br />"; 
     } 
     document.getElementById("demo").innerHTML = txt; 
} 

この関数は、レスポンスをパラメータとして受け入れます。そして、セッションノードと必要な属性を抽出します。要件に応じて変更することができます。ここで

は、あなたがdocument.querySelectorAll()を使用することができます近代的なブラウザでプレーンなJavaScriptで同じ

関連する問題