Convert xml to string with jQuery
Here it is:
<script type='text/javascript'>function xmlToString(xmlData) { var xmlString; //IE if (window.ActiveXObject){ xmlString = xmlData.xml; } // code for Mozilla, Firefox, Opera, etc. else{ xmlString = (new XMLSerializer()).serializeToString(xmlData); } return xmlString;} </script>
Taken from here
this works around the .innerHtml problem.
$('<div>').append(xmlObj).html()
This worked for me (credit: http://www.ibm.com/developerworks/xml/tutorials/x-processxmljquerytut/section3.html):
function getXmlAsString(xmlDom){ return (typeof XMLSerializer!=="undefined") ? (new window.XMLSerializer()).serializeToString(xmlDom) : xmlDom.xml; }
Here's an example that retrieves information about a column from a SharePoint list:
var soapEnv = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \ <soapenv:Body> \ <GetList xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \ <rowLimit>0</rowLimit> \ <listName>Announcements</listName> \ </GetList> \ </soapenv:Body> \ </soapenv:Envelope>";jQuery.support.cors = true; $.ajax({ url: "http://sharepoint/_vti_bin/lists.asmx", type: "POST", dataType: "xml", data: soapEnv, contentType: "text/xml; charset=\"utf-8\"", complete: function(xData){ var xmlDoc = $.parseXML(xData.responseText), $xml = $(xmlDoc) $Fields = $xml.find("Field"); $field = $Fields.filter("Field[Name='Title']")[0]; //Show the xml alert(getXmlAsString( xmlDoc )); alert(getXmlAsString( $field )); }});