5
Próbuję wybrać tekst wewnętrzny td z atrybutem id z HTMLAgilityPack.HTMLAgilityPack uzyskać innerText tagu td z atrybutem id
kod HTML:
<td id="header1"> 5 </td>
<td id="header2"> 8:39pm </td>
<td id="header3"> 8:58pm </td>
...
Kod:
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);
}
}
Wciąż dostaję pustych węzłów ponieważ nie jestem wybierając prawidłowo znacznika td ale nie może dowiedzieć się, co zrobiłem źle ...
Edytuj:
Popełniłem błąd z nagłówkiem1 i nagłówkiem2, ale jest 5 d różne znaczniki td z nagłówkami od 1 do 5.
Czy sprawdzić te identyfikatory ty ha ve wzięty. '
W html id to' header2' w kodzie, to jest określony jako 'header1'. –
Twój kod wydaje się być poprawny. Czy możesz gdzieś umieścić swoje dane? –
Odpowiedz
Próbujesz wybrać
header1
, ale identyfikator toheader2
.Można również użyć
GetElementById
bezpośrednio:Źródło
2013-03-16 11:38:11
Hmm .. Nie sądzę, że robisz coś złego. Twój kod powinien dać ci tylko
<td>
zid="header1"
. Jeśli, powiedzmy, odheader1
doheader5
można zrobić:chociaż proponuję opublikowania swojej cały kod, tak, że możemy powiedzieć, dlaczego jesteś coraz
null
, a także lepszy sposób .. od analizowania<td>
węzły bez robienia powyższej pętli (np coś//tr[@id='some-id']//td[contains(@id, 'header')]
Źródło
2013-03-18 06:24:57
można rozwiązać problemu za pomocą innerHTML nieruchomości jak:
Źródło
2016-09-08 09:52:52 Faraz
Powiązane problemy