Bir HTML tablosunu ayrıştırmak ve HTML'yi LINQ kullanarak bir bağlanan liste kutusunda içeriğini saklıyorum.HTML Çeviklik Ayrıştırma
HTML Çeviklik paketi kullanıyorum ve bu kodu kullanıyorum.
HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load("http://www.SourceURL");
HtmlNode rateNode = doc.DocumentNode.SelectSingleNode("//div[@id='FlightInfo_FlightInfoUpdatePanel']");
string rate = rateNode.InnerText;
this.richTextBox1.Text = rate;
HTML .. Böyle
<div id="FlightInfo_FlightInfoUpdatePanel">
<table cellspacing="0" cellpadding="0"><tbody>
<tr class="">
<td class="airline"><img src="/images/airline logos/NZ.gif" title="AIR NEW ZEALAND LIMITED. " alt="AIR NEW ZEALAND LIMITED. " /></td>
<td class="flight">NZ8</td>
<td class="codeshare"> </td>
<td class="origin">San Francisco</td>
<td class="date">01 Sep</td>
<td class="time">17:15</td>
<td class="est">18:00</td>
<td class="status">DEPARTED</td>
</tr>
görünüyor Ama ben XML biçimine bu pasrse olduğunu gibi ve daha sonra XML LINQ kullanmak hangi bu
NZ8 San Francisco01 Sep17:1518:00DEPARTEDAC6103NZ8San Francisco01 Sep17:1518:00DEPARTEDCO6754NZ8San Francisco01 Sep17:1518:00DEPARTEDLH7157NZ8San Francisco01 Sep17:1518:00DEPARTEDUA6754NZ8San Francisco01 Sep17:1518:00DEPARTEDUS5308NZ8San Francisco01 Sep17:1518:00DEPARTEDVS7408NZ8San Francisco01 Sep17:1518:00DEPARTEDEK407 Melbourne/Dubai01 Sep17:5017:50DEPARTEDEK413 Sydney/Dubai01 Sep18:0018:00DEPARTEDQF44 Sydney01
dönüyor XML'yi bir bağlı liste kutusu öğeleri kaynağına ayrıştırın.
Her sınıf için aşağıda bir varyasyon kullanmam gerektiğini düşünüyorum, ancak bazı yardımlar istiyorum.
HtmlNodeCollection cols = rows[i].SelectNodes(".//td[@class='flight']");
Örnek kodlama şansınız var mı? Ben bu div ve sonra xml – Rhys
için ayrıştırma etrafında kafamı alma konusunda sorun yaşıyorum, bunun için sadece ilk sonuçları verir ve bu – Rhys
@Rhys - dönmek zorunda yüzlerce vardır çalışıyor gibi görünüyor Tek bir düğüm değil, bir düğüm kümesine ihtiyaç duyar. Bir şey gibi: 'var satırlar = rateNode.SelectNodes (" ./ table/tbody/tr ");' ve sonuç üzerinde yineleyin. – Oded