5
Ich versuche, den inneren Text eines TD mit einem ID-Attribut mit dem HTMLAgilityPack auszuwählen.HTMLAgilityPack get InnerText eines TD-Tags mit einem ID-Attribut
Html-Code:
<td id="header1"> 5 </td>
<td id="header2"> 8:39pm </td>
<td id="header3"> 8:58pm </td>
...
Code:
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(data);
var nodes = doc.DocumentNode.SelectNodes("//td[@id='header1']");
if (nodes != null)
{
foreach (HtmlAgilityPack.HtmlNode node in nodes)
{
MessageBox.Show(node.InnerText);
}
}
Ich erhalte immer null Knoten, weil ich nicht die Wahl der td-Tag richtig, aber kann nicht herausfinden, was ich falsch gemacht haben ...
Bearbeiten:
Ich habe einen Fehler gemacht mit Header1 und Header2, aber es gibt 5 d ififfer td-Tags mit Kopfzeilen 1 bis 5.
Haben Sie diese IDs überprüfen Sie ha genommen haben. '
In html, ist die ID' header2' während im Code, es wird als 'header1' angegeben. –
Ihr Code scheint korrekt zu sein. Können Sie Ihre Daten irgendwo posten? –
Antwort
Sie versuchen,
header1
auszuwählen, aber die ID istheader2
.Sie könnten auch
GetElementById
direkt verwenden:Quelle
2013-03-16 11:38:11
Hmm .. Ich glaube nicht, dass Sie nichts falsch machen. Ihr Code sollte Ihnen nur die
<td>
mitid="header1"
geben. Wenn Sie haben, lassen Sie uns sagen,header1
-header5
, können Sie tun:obwohl ich vorschlagen, veröffentlichen Sie Ihren gesamten Code, so dass wir Ihnen sagen, warum Sie
null
bekommen, und auch einen besseren Weg .. die<td>
Knoten Parsen, ohne die obige Schleife zu tun (zB so etwas wie//tr[@id='some-id']//td[contains(@id, 'header')]
Quelle
2013-03-18 06:24:57
können Sie Ihr Problem lösen die Innerhtml-Eigenschaft wie durch den Einsatz:
Quelle
2016-09-08 09:52:52 Faraz
Verwandte Themen