5
ile alın HTMLAgilityPack ile bir id özniteliğine sahip bir td'nin iç metnini seçmeye çalışıyorum.HTMLAgilityPack bir td etiketinin iç öznitelik değerini
Html Kod:
<td id="header1"> 5 </td>
<td id="header2"> 8:39pm </td>
<td id="header3"> 8:58pm </td>
...
Kodu:
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);
}
}
Ben doğru td etiketi seçerek değilim çünkü boş düğümleri almaya devam ama yanlış yaptıklarını bilemiyorum
...
Düzenleme:
Ben header1 ve header2 ile bir hata yaptım, ama 5 d vardır ifferent td etiketleri 1'den 5'e kadar.
Eğer bu kimlikleri kontrol ettin ha ve alındı. '
html'den alınıyorsanız, id kodu kod içinde iken header2'dir. 'header1' olarak belirtilir –
Kodunuz doğru görünüyor Verilerinizi bir yere gönderebilir misiniz? –
cevap
header1
'u seçmeye çalışıyorsunuz ancak kimlikheader2
.Ayrıca doğrudan
GetElementById
kullanabilirsiniz:kaynak
2013-03-16 11:38:11
Hmm .. Ben yanlış bir şey yaptığını sanmıyorum. Kodunuz
id="header1"
ile sadece<td>
vermelidir. Eğer varsa,header5
içinheader1
den, yapabileceğiniz diyelim:Sana
null
alıyoruz neden söyleyebilirim böylece, tüm kod gönderme önermek rağmen, hem de daha iyi bir yol ..//tr[@id='some-id']//td[contains(@id, 'header')]
gibi (örneğin bir şey yukarıdaki döngü yapmadan<td>
düğümleri ayrıştırmakaynak
2013-03-18 06:24:57
sen innerHTML özelliğini Beğen kullanarak sorunu çözebilir:
kaynak
2016-09-08 09:52:52 Faraz
İlgili konular