5
Sto provando a selezionare il testo interno di un td con un attributo id con HTMLAgilityPack.HTMLAgilityPack ottiene innerText di un tag td con un attributo id
codice HTML:
<td id="header1"> 5 </td>
<td id="header2"> 8:39pm </td>
<td id="header3"> 8:58pm </td>
...
Codice:
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);
}
}
continuo a ricevere nodi nulli perché non sono correttamente selezionando il tag td, ma non riesco a capire che cosa ho fatto di sbagliato ...
Modifica:
Ho fatto un errore con header1 e header2, ma ci sono 5 d ifferent td tag con intestazioni da 1 a 5.
Hai controllato gli ID si ha ve preso. '
In html, l'id è' header2' mentre nel codice, è specificato come 'header1'. –
Il tuo codice sembra corretto. Puoi pubblicare i tuoi dati da qualche parte? –
risposta
Si sta tentando di selezionare
header1
ma l'ID èheader2
.Si potrebbe anche usare
GetElementById
direttamente:fonte
2013-03-16 11:38:11
Hmm .. non credo che stai facendo qualcosa di sbagliato. Il tuo codice dovrebbe darti solo il
<td>
conid="header1"
. Se avete, diciamo,header1
-header5
, si può fare:anche se vi consiglio di pubblicare la tua intero codice, in modo che possiamo dirvi perché che stai ricevendo
null
, e anche un modo migliore .. di analizzare i nodi<td>
senza fare il loop di cui sopra (ad esempio, qualcosa come//tr[@id='some-id']//td[contains(@id, 'header')]
fonte
2013-03-18 06:24:57
è possibile risolvere il problema utilizzando l'InnerHtml Property ti piace:
fonte
2016-09-08 09:52:52 Faraz
Problemi correlati