Bilal Ahmed Ответов: 1

Синтаксический анализ строки в C#. Как я могу извлечь информацию о названии , категории , описании с помощью этого stri


string sb = "<html><table style=\"WIDTH: 98%\">" +
           "   <tbody>" +
           "       <tr>" +
           "           <td align=\"left\" valign=\"top\">" +
           "               <table style=\"FONT-FAMILY: Metric Regular, arial; WIDTH: 600px\">" +
           "                   <tbody>" +
           "                       <tr>" +
           "                           <td valign=\"top\">" +
           "                               <table cellpadding=\"10\" cellspacing=\"10\" style=\"FONT-FAMILY: Metric Regular, arial\" width=\"100%\">" +
           "                                   <tbody>" +
           "                                       <tr>" +
           "                                           <td align=\"left\" style=\"WIDTH: 100%\" valign=\"top\">" +
           "                                               <h1 style=\"FONT-SIZE: 18pt; FONT-FAMILY: Metric Semibold, Arial Narrow Bold; COLOR: #5e5e5e\">" +
           "                                                   <img alt=\"HPE Logo\" src=\"http://sdmweb-interimvm:8080/sm/images/Icon_Logo.png\"/>HPE Service Manager</h1>" +
           "                                               <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" height=\"48\" width=\"91%\">" +
           "                                                   <tbody>" +
           "                                                       <tr>" +
           "                                                           <td colspan=\"2\" height=\"10\" style=\"BACKGROUND-COLOR: #cbefe5\">" +
           "                                                                </td>" +
           "                                                       </tr>" +
           "                                                       <tr>" +
           "                                                           <td style=\"BACKGROUND-COLOR: #cbefe5\" width=\"10\">" +
           "                                                                </td>" +
           "                                                           <td style=\"font-family: Metric Regular, arial;font-size: 12pt; BACKGROUND-COLOR: #cbefe5\">" +
           "                                                               The Interaction <a href=\"http://sdmweb-interimvm:8080/sm/ess.do?ctx=docEngine&file=incidents&query=incident.id%3D%22SD10965%22&action=&title=Interaction%20SD10965\" style=\"FONT-FAMILY: Metric Regular, arial; COLOR: #0082be\" target=\"_blank\">SD10965</a> is Closed.</td>" +
           "                                                       </tr>" +
           "                                                       <tr>" +
           "                                                           <td colspan=\"2\" height=\"10\" style=\"BACKGROUND-COLOR: #cbefe5\">" +
           "                                                                </td>" +
           "                                                       </tr>" +
           "                                                   </tbody>" +
           "                                               </table>" +
           "                                           </td>" +
           "                                       </tr>" +
           "                                       <tr>" +
           "                                           <td align=\"left\" style=\"WIDTH: 100%\" valign=\"top\">" +
           "                                               <div style=\"MARGIN-BOTTOM: -24px; POSITION: relative; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; MARGIN-TOP: -24px; PADDING-RIGHT: 0px;\">" +
           "                                                   <h2 style=\"FONT-SIZE: 14pt; FONT-FAMILY: Metric Semibold, Arial Narrow Bold; COLOR: #5e5e5e\">" +
           "                                                       Details</h2>" +
           "                                               </div>" +
           "                                           </td>" +
           "                                       </tr>" +
           "                                   </tbody>" +
           "                               </table>" +
           "                               <table align=\"center\" cellpadding=\"6\" cellspacing=\"2\" style=\"FONT-SIZE: 11pt; FONT-FAMILY: Metric Regular, arial;\" width=\"94%\">" +
           "                                   <tbody>" +
           "                                       <tr>" +
           "                                           <td style=\"COLOR: #585858\" width=\"22%\">" +
           "                                               Title</td>" +
           "                                           <td>" +
           "                                               DDDD</td>" +
           "                                       </tr>" +
           "                                       <tr  style=\"display: !important; display:;\">" +
           "                                           <td style=\"COLOR: #585858\">" +
           "                                               Category</td>" +
           "                                           <td>" +
           "                                               incident</td>" +
           "                                       </tr>" +
           "                                       <tr  style=\"display: !important; display:;\">" +
           "                                           <td style=\"COLOR: #585858\">" +
           "                                               Priority</td>" +
           "                                           <td>" +
           "                                               2 - High</td>" +
           "                                       </tr>" +
           "                                       <tr>" +
           "                                           <td style=\"COLOR: #585858\">" +
           "                                               Description</td>" +
           "                                           <td>" +
           "                                               DDDD<br/>**Title from related Incident record IM10874:<br/>DDDD</td>" +
           "                                       </tr>" +
           "                                       <tr  style=\"display: !important; display:;\">" +
           "                                           <td style=\"COLOR: #585858\">" +
           "                                               Completion Code</td>" +
           "                                           <td>" +
           "                                               Automatically Closed</td>" +
           "                                       </tr>" +
           "                                   </tbody>" +
           "                               </table>" +
           "                               <div style=\"FONT-SIZE: 11pt; POSITION: relative; COLOR: #585858; MARGIN-LEFT: 20px; MARGIN-TOP: 20px\">" +
           "                                   <p style=\"FONT-FAMILY: Metric Semibold, Arial Narrow Bold\">Service Desk Team</p>" +
           "                                   <p>Sent from HPE Service Manager. Do not reply to this email.</p>" +
           "                               </div>" +
           "                           </td>" +
           "                       </tr>" +
           "                   </tbody>" +
           "               </table>" +
           "           </td>" +
           "       </tr>" +
           "   </tbody>" +
           "</table>" +
           "<p> </p></html>";


Что я уже пробовал:

Я пытаюсь извлечь информацию в другие строки Title , Category , Description , Subcategory.

например
Название: DDDD
категория: происшествия
Приоритет: 2 - Высокий

Пожалуйста, предоставьте решение как можно скорее.

1 Ответов

Рейтинг:
12

OriginalGriff

Используйте HTML-парсер: Html Agility Pack[^] это хороший выбор.
Альтернативой является регулярное выражение, и получение хорошего регулярного выражения для обработки данных веб-сайта, которое не нуждается в массовых изменениях каждый раз, когда сайт получает небольшое обновление, - это Пита.


Bilal Ahmed

var htmlDoc = новый HtmlDocument();
свойстве htmldoc.LoadHtml(СБ);
var htmlBody = htmlDoc.DocumentNode.SelectSingleNode("//Описание");
Приставка.Строку(параметр htmlbody.OuterHtml);

Это решение каким-то образом работает для tbody, но объясните, как я могу направить описание reach

OriginalGriff

Даже не пытайтесь: HTML-это Пита, из которой можно попытаться извлечь биты, потому что она часто так плохо сформирована, и материал просто перемещается. Различные пакеты, которые обрабатывают его для вас, сложны, и они привыкли иметь дело с проблемами, поэтому вам не нужно этого делать!

Bilal Ahmed

Но мне нужно, чтобы это было важно, чтобы разобрать строку и получить необходимые данные

OriginalGriff

Я уже говорил вам, что это огромный объем работы, и использовать для этого HTML - парсер-почему вы ожидаете, что я помогу вам сделать это гораздо более сложным способом, который будет регулярно терпеть неудачу?