I'm trying to parse the xml document returned from this link but I get an exception of type ComException
with the following message:
Error HRESULT E_FAIL has been returned from a call to a COM component.
Here's the code:
try
{
//...
string EPGXML = await DownloadAsync(url);
var xmldoc = new XmlDocument();
xmldoc.LoadXml(EPGXML); //this line throws the exception
//...rest of the code
}
catch (Exception)
{
//I get here...
}
Could you please help me why I get this message and how can I fix this? Thanks.
EDIT:
I'm reading the source of the XML using this function (maybe I'm wrong here and I should do something to get the string in UTF-8, because I don't see the German characters in the string in debug mode (watch window):
private async static Task<string> DownloadPageAsync(string url)
{
try
{
HttpClientHandler handler = new HttpClientHandler();
handler.UseDefaultCredentials = true;
handler.AllowAutoRedirect = true;
handler.UseCookies = true;
HttpClient client = new HttpClient(handler);
client.MaxResponseContentBufferSize = 10000000;
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
string responseBody = response.Content.ReadAsString();
return responseBody;
}
catch (Exception ex)
{
return "error" + ex.Message;
}
}