我有来自我认证的服务器的响应数据。如何获取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演示为同一