GmailClient.GetFeedXml C# (CSharp) Method

GetFeedXml() private method

Get the XML feed from google and transform it into a deserializable format
private GetFeedXml ( ) : XmlElement,
return XmlElement,
        private XmlElement GetFeedXml()
        {
            try
            {
                // Create a web request to get the xml feed
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(GmailUri);
                request.Method = "GET";
                request.Credentials = new NetworkCredential(_userName, _password);
                XmlDocument xml = null;
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                // If the request/response is successful
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    // Get the response stream containing the xml
                    using (XmlTextReader reader = new XmlTextReader(response.GetResponseStream()))
                    {
                        // Load the XSLT document (it's an embedded resource)
                        byte[] data = Encoding.ASCII.GetBytes(GmailReader.Properties.Resources.GmailTransform);
                        using (MemoryStream xsltStream = new MemoryStream(data))
                        {
                            // Create a text reader with the XSLT document
                            XmlTextReader stylesheetReader = new XmlTextReader(xsltStream);
                            XslCompiledTransform transform = new XslCompiledTransform();
                            transform.Load(stylesheetReader);
                            // Run an XSLT transform on the google feed to get an xml structure 
                            // that can be deserialized into a GmailList object
                            using (MemoryStream ms = new MemoryStream())
                            {
                                transform.Transform(new XPathDocument(reader), null, ms);
                                ms.Seek(0, SeekOrigin.Begin);
                                xml = new XmlDocument();
                                // Load the transformed xml
                                xml.Load(ms);
                            }
                        }
                    }
                }
                response.Close();
                return xml.DocumentElement;
            }
            catch
            {
            }
            return null;
        }
        #region IDisposable Members