Vince
Vince

Reputation: 45

How to get the data inside the XML

I have this response data from the server that I authenticate.

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

How can I get the value of session-guid and user-id and store them into 1 variable for each.

Thank you.

Upvotes: 0

Views: 245

Answers (3)

david25272
david25272

Reputation: 974

In plain Javascript in a modern browser you can use document.querySelectorAll().

For example, assuming you only have one session tag:

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

If you have more that one session tag you can use forEach on the results of querySelectorAll() to locate the one you want. If you know that you're only going to have one session element you can use document.querySelector() instead of document.querySelectorAll()[0].

Upvotes: 1

Manish
Manish

Reputation: 5066

Here is what you can do to get the required data from the 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;
}

this function accepts the response as a parameter. And then extracts out the sessions nodes and the required attribute. You can modify it according to your requirements.

Here is a PLNKR demo for the same

Upvotes: 1

Namita
Namita

Reputation: 56

Here is one way to get the values client side. For this method you will need to add any custom class to your element like below:

Now write below lines of code inside tag:

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

You can check the values of "sessionguid" and "userid" variable in your browser console.

Upvotes: 1

Related Questions