XMLHttpRequest: responseXML property
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers, except for Service Workers.
The XMLHttpRequest.responseXML read-only property returns a Document containing the HTML or XML retrieved by the request; or null if the request was unsuccessful, has not yet been sent, or if the data can't be parsed as XML or HTML.
Note: The name responseXML is an artifact of this property's history; it works for both HTML and XML.
Usually, the response is parsed as "text/xml". If the responseType is set to "document" and the request was made asynchronously, instead the response is parsed as "text/html". responseXML is null for any other types of data, as well as for data: URLs.
If the server doesn't specify the Content-Type as "text/xml" or "application/xml", you can use XMLHttpRequest.overrideMimeType() to parse it as XML anyway.
This property isn't available to workers.
Value
A Document from parsing the XML or HTML received using XMLHttpRequest, or null if no data was received or if the data is not XML/HTML.
Exceptions
InvalidStateErrorDOMException-
Thrown if the
responseTypeisn't eitherdocumentor an empty string.
Examples
const xhr = new XMLHttpRequest(); xhr.open("GET", "/server"); // If specified, responseType must be empty string or "document" xhr.responseType = "document"; // Force the response to be parsed as XML xhr.overrideMimeType("text/xml"); xhr.onload = () => { if (xhr.readyState === xhr.DONE && xhr.status === 200) { console.log(xhr.response, xhr.responseXML); } }; xhr.send(); Specifications
| Specification |
|---|
| XMLHttpRequest> # the-responsexml-attribute> |
Browser compatibility
See also
XMLHttpRequestXMLHttpRequest.responseXMLHttpRequest.responseType- Parsing and serializing XML
- Parsing XML into a DOM tree:
DOMParser - Serializing a DOM tree into XML:
XMLSerializer(specifically, theserializeToString()method)