HTMLAgilityPack analysiert in InnerHTML

c# html-agility-pack

Frage

<div>
<b>Token1</b>
Token2
<b>Token3</b>
</div>

Ich versuche, Token2 aus dem Div zu extrahieren

Ich schaffe Token1 und Token3 mit:

<div>
<b>Token1</b>
Token2
<b>Token3</b>
</div>

Wie kann ich direkt Token2 mit HTMLAgilityPack extrahieren?

Eine unreine Option ist es, Token1 und Token2 durch string.empty in doc.DocumentNode.SelectNodes ("// div") zu ersetzen. InnerText, aber ich kann mir vorstellen, dass es mit HTMLAgilityPack sauberer gemacht werden kann ...

Expertenantwort

Der Text befindet sich in den Textknoten. also sollten Sie in der Lage sein, "// div / text ()" zu betrachten und zu verketten:

StringBuilder sb = new StringBuilder();
foreach (HtmlAgilityPack.HtmlTextNode node in
      doc.DocumentNode.SelectNodes("//div/text()"))
{
    sb.Append(node.Text.Trim());
}
string s = sb.ToString();



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum