2017-03-23 4 views
1

Wie ich einen anderen Tag nach einem bestimmten Tag eingefügt haben, und entfernen: TagElement hinzufügen html mit htmlagilitypack

Beispiel ich diese html

<p class="cs40314EBF"><span class="cs1B16EEB5">This is an ordinary text.</span></p> 

und dies ist die mögliche Ausgabe

<p class="cs40314EBF"><b>This is an ordinary text.</b></p> 
haben

dies ist mein Code

HtmlDocument doc = new HtmlDocument(); 
       doc.Load(htmlLocation); 
foreach (var item in doc.DocumentNode.Descendants()) 
{ 

    if (item.Name == "span") 
    { 
     HtmlNode div = doc.CreateElement("b"); 
     //what do i need to do here? 
    } 
} 

ich habe ein Forschungs- und fanden diese

http://www.nudoq.org/#!/Packages/HtmlAgilityPack/HtmlAgilityPack/HtmlNode/M/InsertBefore 

, aber ich kann es nicht funktionieren.

ich kann nicht

if (item.Name == "span") 
    { 

     item.Name = "newtag"; 
    } 

verwenden, weil ich den Wert der Klasse benötigen. um zu entscheiden, welches Etikett ich verwenden werde

Antwort

3

Bitte überprüfen Sie den folgenden Code, müssen Sie InnerHtml setzen und HTML-Dokument speichern, indem Sie die Methode doc.Save(yourfilepath) aufrufen.

if (item.Name == "span") 
{ 
    HtmlNode div = doc.CreateElement("b"); 
    div.InnerHtml = "Hello world"; 
    item.AppendChild(div); 
    doc.Save(yourfilepath); 
} 
+0

es funktioniert nicht. Ich habe bereits einen ähnlichen Code ausprobiert, bevor ich hier gepostet habe. Und ich habe es erneut mit Ihrem Code versucht, und es funktioniert nicht. es gibt mir keinen Fehler. Ich überprüfe sogar, ob die if-Anweisung ausgelöst wird –

1

Können Sie das versuchen?

var doc1 = new HtmlAgilityPack.HtmlDocument(); 
    doc1.LoadHtml("<p class=\"cs40314EBF\"><span class=\"cs1B16EEB5\">This is an ordinary text.</span></p>"); 

    foreach (var item in doc1.DocumentNode.Descendants()) 
    { 
     if (item.Name == "span") 
     { 
      HtmlNode b = doc.CreateElement("b"); 
      b.InnerHtml = item.InnerText; 
      item.ParentNode.AppendChild(b); 
      item.Remove(); 
     } 
    } 
Verwandte Themen