HtmlAgilityPackHelper.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using HtmlAgilityPack;
  2. namespace GxPress.Common.Tools
  3. {
  4. public static class HtmlAgilityPackHelper
  5. {
  6. /// <summary>
  7. /// 完整
  8. /// </summary>
  9. /// <param name="html"></param>
  10. /// <returns></returns>
  11. public static string GetHmtl(string html)
  12. {
  13. try
  14. {
  15. var document = new HtmlDocument();
  16. document.LoadHtml(html);
  17. var node = document.DocumentNode.SelectNodes("//body/p");
  18. var tittle = document.DocumentNode.SelectNodes("//title");
  19. var pContent = $"<h2>{tittle[0].InnerText}</h2>";
  20. foreach (var item in node)
  21. {
  22. if (string.IsNullOrWhiteSpace(item.InnerHtml))
  23. continue;
  24. pContent += item.OuterHtml;
  25. }
  26. return pContent;
  27. }
  28. catch
  29. {
  30. return string.Empty;
  31. }
  32. }
  33. /// <summary>
  34. /// 一部分
  35. /// </summary>
  36. /// <param name="html"></param>
  37. /// <returns></returns>
  38. public static string GetHmtlContent(string html)
  39. {
  40. try
  41. {
  42. var pContent = string.Empty;
  43. var document = new HtmlDocument();
  44. document.LoadHtml(html);
  45. var node = document.DocumentNode.SelectNodes("//body/p");
  46. var tittle = document.DocumentNode.SelectNodes("//title");
  47. pContent = $"<h2>{tittle[0].InnerText}</h2>";
  48. foreach (var item in node)
  49. {
  50. if (pContent.Length > 100)
  51. break;
  52. if (string.IsNullOrWhiteSpace(item.InnerHtml))
  53. continue;
  54. //pContent += item.InnerHtml.ToString()
  55. pContent += item.OuterHtml;
  56. }
  57. return pContent;
  58. }
  59. catch
  60. {
  61. return string.Empty;
  62. }
  63. }
  64. }
  65. }