  
      media_type = 'application/xml'
  
      def parse(self, stream, **opts):
          """
          Returns a 2-tuple of `(data, files)`.
  
          `data` will simply be a string representing the body of the request.
          `files` will always be `None`.
          """
          try:
              tree = ET.parse(stream)
          except (ExpatError, ETParseError, ValueError), exc:
              raise ParseError('XML parse error - %s' % unicode(exc))
          data = self._xml_convert(tree.getroot())
 
</s> remove         Returns a 2-tuple of `(data, files)`.
 </s> add         Returns a DataAndFiles object. </s> remove         return (data, None)
 </s> add         return data </s> remove         return (stream.read(), None)
 </s> add         return stream.read() </s> remove         `data` will be a :class:`QueryDict` containing all the form parameters.
        `files` will be a :class:`QueryDict` containing all the form files.
 </s> add         `.data` will be a `QueryDict` containing all the form parameters.
        `.files` will be a `QueryDict` containing all the form files. </s> remove             return (json.load(stream), None)
 </s> add             return json.load(stream)
  
      media_type = 'application/xml'
  
      def parse(self, stream, **opts):






          try:
              tree = ET.parse(stream)
          except (ExpatError, ETParseError, ValueError), exc:
              raise ParseError('XML parse error - %s' % unicode(exc))
          data = self._xml_convert(tree.getroot())
keep keep keep keep replace replace replace replace replace replace keep keep keep keep keep
 Parsers may return raw data, or a DataAndFiles object 
djangorestframework/parsers.py