изменяя данные модели, которые html содержимого, хотите изменить значение в теге <p> - PullRequest
0 голосов
/ 20 апреля 2020

Я хочу изменить текстовое значение внутри тега p, этот контент доступен в модели строки типа с именем contentbody.

как я могу изменить значение тега 'p' перед передачей этой модели смотреть? Пожалуйста, найдите мой код в приложении:


model.content= contentBody;

contentBody contains the below contents in string format, 
i need to change the value of 'p' tag before assigning the value to model.content :

<form action="" method="post" name="abc">
   <div class ="onecol">
      <div class ="group">
         <div class ="detail">
            <div class ="Warning">
               <span>
               warning Message
               </span>
               <h4>
                  We're sorry,We're unable to add 
               </h4>
               <h5>
                  Salt River
               </h5>
               <p>
                  Email must be 32 character or less.
               </p>
            </div>
         </div>
      </div>
      <script type="text/javascript></script>
   </div>
</form>

Мое решение: я использую HtmlAgility, можем ли мы сделать это с помощью linq xmldocument, я не хочу использовать библиотеку HtmlAgility

string result= string.Empty;
HtmlDocument doc= new HtmlDocument();
doc.LoadHtml(contentBody);
foreach(HtmlNode node in doc.DocumentNode.SelectNodes("//div[contains(@class,'warning')"])
{
   foreach(HtmlNode node2 in node.selectNodes("//p"))
   {
      node2.InnerHtml="New Value";
   }
}
using (StringWriter writer= new StringWriter())
{
doc.Save(writer);
result=writer.ToString();
}
...