1

I need to consume Rest API XML response on my website using JS or JQuery. Can someone provide the code for this. Thanks in advance.

Following is the REST API call to get the XML response displayed below:

/restapi/vc/boards/id/{board id}/subscriptions/global/float/thread

XML RESPONSE

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<response status="success">
  <subscriptions>
    <subscription type="subscription" href="/subscriptions/global/id/321">
      <id type="int">321</id>
      <target type="thread" href="/threads/id/4849">
        <id type="int">4849</id>
        <title type="string" null="true"/>
        <messages>
          <count type="int">1</count>
          <topic type="message" href="/messages/id/4849">
            <id type="int">4849</id>
            <read_only type="boolean">false</read_only>
            <parent type="message" null="true"/>
            <teaser type="string"></teaser>
            <views>
              <count type="int">2</count>
            </views>
            <subject type="string">Cannot download Pinball Arcade vita</subject>
            <deleted type="boolean">false</deleted>
            <author type="user" href="/users/id/149">
              <login type="string">psforums</login>
            </author>
            <thread type="thread" href="/threads/id/4849"/>
            <board_id type="int">1</board_id>
            <message_rating type="float">0.0</message_rating>
            <last_edit_author type="user" href="/users/id/149">
              <login type="string">psforums</login>
            </last_edit_author>
            <kudos>
              <count type="int">0</count>
            </kudos>
            <last_edit_time type="date_time">2013-07-24T16:28:44+00:00</last_edit_time>
            <post_time type="date_time">2013-07-24T16:28:44+00:00</post_time>
            <labels/>
            <root type="message" href="/messages/id/4849"/>
            <board type="board" href="/boards/id/22034"/>
          </topic>
          <read>
            <count type="int">1</count>
          </read>
          <linear>
            <message type="message" href="/messages/id/4849">
              <id type="int">4849</id>
              <read_only type="boolean">false</read_only>
              <parent type="message" null="true"/>
              <teaser type="string"></teaser>
              <views>
                <count type="int">2</count>
              </views>
              <subject type="string">Cannot download Pinball Arcade vita</subject>
              <deleted type="boolean">false</deleted>
              <author type="user" href="/users/id/149">
                <login type="string">psforums</login>
              </author>
              <thread type="thread" href="/threads/id/4849"/>
              <board_id type="int">1</board_id>
              <message_rating type="float">0.0</message_rating>
              <last_edit_author type="user" href="/users/id/149">
                <login type="string">psforums</login>
              </last_edit_author>
              <kudos>
                <count type="int">0</count>
              </kudos>
              <last_edit_time type="date_time">2013-07-24T16:28:44+00:00</last_edit_time>
              <post_time type="date_time">2013-07-24T16:28:44+00:00</post_time>
              <labels/>
              <root type="message" href="/messages/id/4849"/>
              <board type="board" href="/boards/id/22034"/>
            </message>
          </linear>
        </messages>
        <board type="board" href="/boards/id/22034"/>
        <solutions/>
        <interaction_style type="string">board</interaction_style>
      </target>
      <target_type type="subscription_target_type">thread</target_type>
      <user type="user" null="true"/>
      <subscription_type type="subscription_type">float</subscription_type>
    </subscription>
  </subscriptions>
</response>
0

1 Answer 1

1
  $(function () {
$.ajax({
    type: "POST",
    url: "URL",
    contentType: "text/xml; charset=utf-8",
    data: "DATA",
    success: function (response) {
        $('#result').html('success:');
        $(response).find("string").each(function () {
            $('#result').append('<br />'+$(this).text());
        });
    },
    error: function (response) {
        $('#result').html('failure:<br />' + response.responseText);
    }
});

});

hope this will work

and my response is like this

<string>tag 1</string>
  <string>tag 2</string>
 <string>tag 3</string>
</ArrayOfString>
Sign up to request clarification or add additional context in comments.

2 Comments

your code worked perfectly, thanks. I have ran into another blocker now, is there a way in JQuery with which I can fetch the data for only node at /response/subscriptions/subscription/target/messages/topic/**SUBJECT** and NOT for Subject Node at /response/subscriptions/subscription/target/messages/linear/message/*subject*
@VarunLuthra Can you explain more

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.