Title: WP_oEmbed::_parse_xml_body
Published: April 25, 2014
Last modified: April 28, 2025

---

# WP_oEmbed::_parse_xml_body( string $response_body ): stdClass|false

## In this article

 * [Parameters](https://developer.wordpress.org/reference/classes/wp_oembed/_parse_xml_body/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/classes/wp_oembed/_parse_xml_body/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/classes/wp_oembed/_parse_xml_body/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_oembed/_parse_xml_body/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_oembed/_parse_xml_body/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_oembed/_parse_xml_body/?output_format=md#wp--skip-link--target)

This function’s access is marked private. This means it is not intended for use 
by plugin or theme developers, only by core. It is listed here for completeness.

Serves as a helper function for parsing an XML response body.

## 󠀁[Parameters](https://developer.wordpress.org/reference/classes/wp_oembed/_parse_xml_body/?output_format=md#parameters)󠁿

 `$response_body`stringrequired

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wp_oembed/_parse_xml_body/?output_format=md#return)󠁿

 stdClass|false

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_oembed/_parse_xml_body/?output_format=md#source)󠁿

    ```php
    private function _parse_xml_body( $response_body ) {
    	if ( ! function_exists( 'simplexml_import_dom' ) || ! class_exists( 'DOMDocument', false ) ) {
    		return false;
    	}

    	$dom     = new DOMDocument();
    	$success = $dom->loadXML( $response_body );
    	if ( ! $success ) {
    		return false;
    	}

    	if ( isset( $dom->doctype ) ) {
    		return false;
    	}

    	foreach ( $dom->childNodes as $child ) {
    		if ( XML_DOCUMENT_TYPE_NODE === $child->nodeType ) {
    			return false;
    		}
    	}

    	$xml = simplexml_import_dom( $dom );
    	if ( ! $xml ) {
    		return false;
    	}

    	$return = new stdClass();
    	foreach ( $xml as $key => $value ) {
    		$return->$key = (string) $value;
    	}

    	return $return;
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/class-wp-oembed.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-includes/class-wp-oembed.php#L655)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-includes/class-wp-oembed.php#L655-L687)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_oembed/_parse_xml_body/?output_format=md#related)󠁿

| Used by | Description | 
| [WP_oEmbed::_parse_xml()](https://developer.wordpress.org/reference/classes/wp_oembed/_parse_xml/)`wp-includes/class-wp-oembed.php` |

Parses an XML response body.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_oembed/_parse_xml_body/?output_format=md#changelog)󠁿

| Version | Description | 
| [3.6.0](https://developer.wordpress.org/reference/since/3.6.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_oembed%2F_parse_xml_body%2F)
before being able to contribute a note or feedback.