diff --git a/servers/rest_server/includes/RESTServer.inc b/servers/rest_server/includes/RESTServer.inc
index b81dd30..747f657 100755
--- a/servers/rest_server/includes/RESTServer.inc
+++ b/servers/rest_server/includes/RESTServer.inc
@@ -469,6 +469,10 @@ class RESTServer {
     return unserialize(self::contentFromStream($handle));
   }
 
+  public static function parseXML($handle) {
+    return json_decode(json_encode((array) simplexml_load_string(self::contentFromStream($handle))), TRUE);
+  }
+
   public static function parseJSON($handle) {
     return json_decode(self::contentFromStream($handle), TRUE);
   }
diff --git a/servers/rest_server/rest_server.module b/servers/rest_server/rest_server.module
index 5fdb99d..2cf55b6 100755
--- a/servers/rest_server/rest_server.module
+++ b/servers/rest_server/rest_server.module
@@ -48,6 +48,7 @@ function rest_server_request_parsers() {
       'application/x-yaml' => 'RESTServer::parseYAML',
       'application/json' => 'RESTServer::parseJSON',
       'application/vnd.php.serialized' => 'RESTServer::parsePHP',
+	  'application/xml' => 'RESTServer::parseXML',
     );
     drupal_alter('rest_server_request_parsers', $parsers);
   }
