我有來自我認證的服務器的響應數據。如何獲取XML中的數據
<session session-guid="D39C1215-2F31-8641-E5T2-C7G35RT69127" user-id="34"> </session>
我怎樣才能獲得會話GUID和用戶ID的值,並將其存儲到每個1個變量。
謝謝。
我有來自我認證的服務器的響應數據。如何獲取XML中的數據
<session session-guid="D39C1215-2F31-8641-E5T2-C7G35RT69127" user-id="34"> </session>
我怎樣才能獲得會話GUID和用戶ID的值,並將其存儲到每個1個變量。
謝謝。
在普通的JavaScript在一個現代瀏覽器,你可以使用document.querySelectorAll()
。
例如,假設你只有一個session
標籤:
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);
如果你有一個以上的會話標籤,你可以使用forEach
上的querySelectorAll()
的結果,找出你想要的。如果您知道只有一個會話元素,則可以使用document.querySelector()
而不是document.querySelectorAll()[0]
。
以下是獲取客戶端值的一種方法。對於這種方法,你需要的任何自定義類添加到您的元素象下面這樣:
現在寫下面的代碼行內標籤:
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」變量在您的瀏覽器控制檯中。
以下是您可以從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;
}
該函數接受響應作爲參數。然後提取會話節點和必需的屬性。您可以根據您的要求進行修改。
這裏是一個PLNKR演示爲同一