2017-03-13 3 views
0

J'essaie de comprendre comment obtenir la conversation la plus récente/la plus récente de la conversation en cours. Je récupère des données de Outlook Office 365 API en tant que JSON. JSON pour le corps e-mailComment obtenir la meilleure conversation à partir du corps de réponse de l'API Office 365

"Body": { 
<html> 
\r\n 
<head> 
</head> 
<body lang=\"EN-US\" link=\"blue\" vlink=\"purple\"> 
\r\n<div class=\"WordSection1\"> 
    \r\n 
    <p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\"> 
      Hi Team, 
     </span> 
    </p>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\">&nbsp;</span> 
    </p>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\"> 
      Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 
     </span> 
    </p>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\">&nbsp;</span> 
    </p>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\">&nbsp;</span> 
    </p>\r\n<div> 
     \r\n<p class=\"MsoNormal\"> 
      <span style=\"color:#1F497D\">Thanks and Regards,</span> 
     </p>\r\n<p class=\"MsoNormal\"> 
      <span style=\"color:#1F497D\">Demo Person</span> 
     </p>\r\n<p class=\"MsoNormal\"> 
      <span style=\"font-size:10.0pt; font-family:&quot;Arial&quot;,sans-serif; color:#E36C0A\"> 
       Team Demo 
      </span><span style=\"font-size:9.0pt; color:#E36C0A\"> 
       - TSS\r\n 
      </span> 
      <span style=\"font-size:9.0pt; color:#F79646\"> 
       ASQT |dsfsf | &#43;919642739170 
      </span><span style=\"font-size:9.0pt; color:#F79646\"></span> 
     </p>\r\n<p class=\"MsoNormal\"> 
      <span style=\"color:#1F497D\"> 
       <img width=\"163\" height=\"39\" id=\"Picture_x0020_1\" src=\"cid:[email protected]\" alt=\"sign\"> 
      </span> 
     </p>\r\n 
    </div>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\">&nbsp;</span> 
    </p>\r\n<div> 
     \r\n 
     <div style=\"border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0in 0in 0in\"> 
      \r\n 
      <p class=\"MsoNormal\"> 
       <b>From:</b> Demo Person 
       <br>\r\n<b>Sent:</b> Monday, March 13, 2017 2:09 PM<br>\r\n<b>To:</b> [email protected] 
       &lt;[email protected]&gt;<br>\r\n<b>Cc:</b> [email protected] &lt; 
       <br>\r\n<b>Subject:</b> RE: Demo Subject 1 
      </p>\r\n 
     </div>\r\n 
    </div>\r\n<p class=\"MsoNormal\">&nbsp;</p> 
    \r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\">HI Demo Team,</span> 
    </p>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\">&nbsp;</span> 
    </p>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\"> 
      Kindly check and confirm if you are working on this\r\n 
     </span> 
     </p>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\">&nbsp;</span> 
     </p>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\">.</span> 
     </p>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\">&nbsp;</span> 
     </p>\r\n<p class=\"MsoNormal\"> 

     </p>\r\n<p class=\"MsoNormal\"> 

    </p>\r\n<p class=\"MsoNormal\"></p>\r\n<p class=\"MsoNormal\"> 
    </p>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\"> 
      &nbsp; 
     </span> 
    </p>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\"> 
      Task assigned to you. 
     </span> 
    </p>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\">&nbsp;</span> 
    </p>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\">Thanks &amp; Regards,</span> 
    </p>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\">Demo,</span> 
    </p>\r\n<p class=\"MsoNormal\"><span style=\"color:#1F497D\">Sample Team</span></p> 
    \r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\">&nbsp;</span> 
    </p>\r\n<div> 
     \r\n<div style=\"border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0in 0in 0in\"> 
      \r\n<p class=\"MsoNormal\"> 
       <b>From:</b> Temp person 
       <br>\r\n<b>Sent:</b> Monday, March 13, 2017 1:13 PM<br>\r\n<b>To:</b> Demo person 
       &lt;<a href=\"mailto:[email protected]\">[email protected]</a>&gt;<br> 
       \r\n<b>Cc:</b> [email protected] &lt;<a href=\"mailto:[email protected]\">[email protected]</a>&gt;; 
       <br>\r\n<b>Subject:</b> RE: Demo Subject 1 
      </p>\r\n 
     </div>\r\n 
    </div>\r\n<p class=\"MsoNormal\">&nbsp;</p>\r\n 
    <p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\">Hi Demo,</span> 
    </p>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\">&nbsp;</span> 
    </p>\r\n<p class=\"MsoNormal\"> 
     <span style=\"color:#1F497D\"> 
      We are working on it. 
     </span> 
    </div>\r\n 
    </body>\r\n 
    </html> 
    } 

Je voulais obtenir top enregistrer et rechercher s'il y a une table en elle. Je pense que nous pouvons essayer en transformant le corps html entier en une chaîne et ensuite vérifier dans cette chaîne avec Regex. J'apprécierai n'importe quel pointeur sur ceci.

Répondre

0

J'ai réussi à obtenir la meilleure conversation par Regex et string.Substring(). J'espère que cela aidera quelqu'un dans le besoin.

//emailBody is a string variable 
//Get the Index of first "From:" 
int fromIndex = emailBody.Trim().IndexOf("From:"); 
if (fromIndex<0)//fromIndex will be -1 if it's fresh conversation 
{ 
//It's fresh conversation. 
//Reges.Replace will remove the unnecessary HTML tags before <body> tag 
conversation = Regex.Replace(emailBody.Trim(), "[\\s\\S]*<body", ""); 
//Do further action on topmost conversation. 
} 
else 
{ 
//It's ongoing conversation with more than one email. 
conversation = Regex.Replace(emailBody.Trim().Substring(0, fromIndex), "[\\s\\S]*<body", ""); 
//Do further action on topmost conversation. 
} 

Remarque - Je travaille toujours sur la façon d'obtenir une table de la conversation la plus élevée. Je posterai bientôt.