2017-02-15 2 views
0

У меня есть данные ответа с сервера, который я аутентифицирую.Как получить данные внутри XML

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

Как я могу получить значение сеансов Guid и идентификатор пользователя и хранить их в 1 переменную для каждого.

спасибо.

ответ

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].

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; 
} 

эта функция принимает отклик как параметр. А затем извлекает узлы сеансов и требуемый атрибут. Вы можете изменить его в соответствии с вашими требованиями.

Вот PLNKR демо для одной и той же

Смежные вопросы