本文整理汇总了C#中HtmlAgilityPack.HtmlDocument.DetectEncodingHtml方法的典型用法代码示例。如果您正苦于以下问题:C# HtmlDocument.DetectEncodingHtml方法的具体用法?C# HtmlDocument.DetectEncodingHtml怎么用?C# HtmlDocument.DetectEncodingHtml使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HtmlAgilityPack.HtmlDocument
的用法示例。
在下文中一共展示了HtmlDocument.DetectEncodingHtml方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetReadings
public static string GetReadings(DateTime dateTime)
{
string date = "";
date += dateTime.ToString("MM:dd:yy");
date = date.Replace(":", "");
WebClient w = new WebClient();
string s = w.DownloadString("http://www.usccb.org/bible/readings/" + date + ".cfm");
var htmldoc = new HtmlDocument();
var encoding = htmldoc.DetectEncodingHtml(s);
htmldoc.LoadHtml(s);
if (htmldoc.ParseErrors != null && htmldoc.ParseErrors.Any())
{
//handle errors
}
if (htmldoc.DocumentNode != null)
{
HtmlNode bodyNode = htmldoc.DocumentNode.SelectSingleNode("//div[@id='CS_Element_maincontent']");
string returnString = bodyNode.WriteTo();
returnString = returnString.Replace("“", "\"");
returnString = returnString.Replace("â€", "\"");
return returnString;
}
return null;
}
示例2: Retrive
public List<BindData> Retrive(string Data)
{
List<BindData> list = new List<BindData>();
try
{
XDocument doc = XDocument.Parse(Data);
foreach (XElement ele in doc.Descendants("item"))
{
BindData d = new BindData();
d.Tag = ele.Element("link").Value;
d.Content = ele.Element("title").Value;
string destocheck = ele.Element("description").Value;
HtmlDocument HTdoc = new HtmlDocument();
HTdoc.LoadHtml(destocheck);
HTdoc.DetectEncodingHtml(destocheck);
d.Description = HttpUtility.HtmlDecode(HTdoc.DocumentNode.InnerText);
list.Add(d);
}
return list;
}
catch (Exception c)
{
list=null;
return list;
}
}
示例3: GetLunchRestaurantDocumentForUrl
/// <summary>
/// Attempts to fetch and load a HtmlDocument for a given URL.
/// Also determines the MIME-type for the stream and computes a hash if needed.
/// </summary>
/// <param name="url">URL to be loaded.</param>
/// <param name="timeout">Timeout for HttpWebRequest in seconds.</param>
public static LunchRestaurantDocument GetLunchRestaurantDocumentForUrl(string url, int timeout)
{
var document = new LunchRestaurantDocument { URL = url };
var htmlDoc = new HtmlDocument();
var allowedmimetypes = new[] { "text/html", "text/xml" };
const int buffsize = 1024;
try
{
var request = (HttpWebRequest)WebRequest.Create(GetUri(url));
request.Timeout = timeout * 1000;
using (var response = (HttpWebResponse)request.GetResponse())
{
var headerEncoding = TryGetEncoding(response.ContentEncoding) ??
TryGetEncoding(response.CharacterSet) ??
Encoding.UTF8;
var buf = new byte[buffsize];
var ms = new MemoryStream();
var responseStream = response.GetResponseStream();
if (responseStream == null)
{
return null;
}
var count = responseStream.Read(buf, 0, buffsize);
document.MimeType = MimeDetector.DetermineMIMEType(buf);
if (Array.Exists(allowedmimetypes, mimetype => mimetype.Equals(document.MimeType)))
{
do
ms.Write(buf, 0, count);
while ((count = responseStream.Read(buf, 0, buffsize)) != 0);
var bytes = ms.GetBuffer();
var docEncoding = htmlDoc.DetectEncodingHtml(headerEncoding.GetString(bytes));
var convertedBytes = Encoding.Convert(docEncoding ?? headerEncoding, Encoding.Unicode, bytes);
var convertedData = Encoding.Unicode.GetString(convertedBytes);
htmlDoc.LoadHtml(convertedData);
}
else
{
_logger.Info("Discarded invalid mimetype '{0}' for URL: {1}", document.MimeType, url);
}
}
}
catch
{
return null;
}
if (htmlDoc.ParseErrors != null && htmlDoc.ParseErrors.Count() > 0)
{
// TODO: handle any parse errors
}
if (htmlDoc.DocumentNode != null)
{
document.HtmlDocument = htmlDoc;
// let's also compute a hash for the document
document.Hash = ComputeHashForDocument(htmlDoc, url);
}
return document;
}