Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I get the entire XML string from a XMLDocument returned by jQuery (cross browser)?

I have tried and failed to find out how to get the entire XML string from the XMLDocument returned by a GET. There are a lot of questions on SO on how to find or replace specific elements in the object, but I can't seem to find any answer to how to get the entire document as a string.

The example I'm working with is from here. The "do something with xml"-part is where I'm at at the moment. I get the feeling that this should be really trivial, but I fail to find out how. Is there an "xml.data()" or similar that can be used for this purpose?

$.ajax({     url: 'document.xml',     type: 'GET',     dataType: 'xml',     timeout: 1000,     error: function(){         alert('Error loading XML document');     },     success: function(xml){         // do something with xml     } }); 

The use case is that I want to feed the xml to flash plugin and for that I need the actual XML as a string.

like image 765
icecream Avatar asked Nov 04 '09 16:11

icecream


2 Answers

If you want both, get the response as XML Document and as string. You should be able to do

success: function(data){   //data.xml check for IE   var xmlstr = data.xml ? data.xml : (new XMLSerializer()).serializeToString(data);   alert(xmlstr); } 

If you want it as string why do you specify dataType:xml wouldn't then dataType:text be more appropriate?

like image 112
jitter Avatar answered Sep 21 '22 17:09

jitter


I need the actual XML as a string

You want it as plain text instead of XML object? Change dataType from 'xml' to 'text'. See the $.ajax documentation for more options.

like image 37
BalusC Avatar answered Sep 20 '22 17:09

BalusC