Is there any way i can get an XMLDocument using
AtomFeed.SaveToXML(XmlWriter)
I've tried:
AtomFeed calFeed = service.Query(query);
System.IO.MemoryStream mstream = new System.IO.MemoryStream();
//calFeed.SaveToXml(mstream);
System.Xml.XmlWriter writer = new XmlTextWriter(mstream,
System.Text.Encoding.UTF8);
calFeed.SaveToXml(writer);
XmlDocument myDoc = new XmlDocument();
myDoc.Load(mstream);
writer.Close();
but fails in myDoc.Load(mstream) : no root element...
Thank you in advance
Jesús de Diego
public XmlDocument GeoAgenda(string GoogleAccount, string password)
{
FeedQuery query = new FeedQuery();
CalendarService service = new
Google.GData.Calendar.CalendarService("GeoReferencing");
// Set your credentials:
NetworkCredential nc = new NetworkCredential(GoogleAccount,
password);
service.Credentials = nc;
// Create the query object:
query.Uri = new Uri("http://www.google.com/calendar/feeds/" +
GoogleAccount +"/private/basic");
//CalendarService service = new
CalendarService("CalendarSampleApp");
GDataRequestFactory f =
(GDataRequestFactory)service.RequestFactory;
IWebProxy iProxy = WebRequest.DefaultWebProxy;
WebProxy myProxy = new WebProxy(iProxy.GetProxy(query.Uri));
// potentially, setup credentials on the proxy here
myProxy.Credentials =
System.Net.CredentialCache.DefaultCredentials;
myProxy.UseDefaultCredentials = true;
f.Proxy = myProxy;
// Tell the service to query:
AtomFeed calFeed = service.Query(query);
XmlDocument XmlDoc = new XmlDocument();
Stream meStream = new MemoryStream();
XmlWriter writer = new XmlTextWriter(meStream,
System.Text.Encoding.UTF8);
calFeed.SaveToXml(writer);
writer.Flush();
meStream.Position = 0;
XmlTextReader xmlreader = new XmlTextReader(meStream);
xmlreader.Read();
XmlDoc.LoadXml("<root>" + xmlreader.ReadInnerXml() + "</
root>");
writer.Close();
....
....
....
return XmlDoc;
}
Thank you all
Jesús de Diego