2011-05-11 2 views
4

예를 들어, 수집하고 싶은 태그가 <tr> 개 있습니다. 나는이 태그들을 각각의 요소들로 나눌 필요가있어서, 내 파트를 더 쉽게 파싱 할 수있다.HtmlAgilityPack을 사용하여 HTML 문서를 특정 태그로 분할 할 수 있습니까?

이것이 가능합니까?

마크 업의 예 :

<tr class="first-in-year"> 
    <td class="year">2011</td> 

    <td class="img"><a href="/battlefield-3/61-27006/"><img src= 
    "http://media.giantbomb.com/uploads/6/63038/1700748-bf3_thumb.jpg" alt=""></a></td> 

    <td class="title"> 
    <a href="/battlefield-3/61-27006/">Battlefield 3</a> 

    <p class="deck">Battlefield 3 is DICE's next installment in the franchise and 
    will be on PC, PS3 and Xbox 360. The game will feature jets, prone, a 
    single-player and co-op campaign, and 64-player multiplayer (on PC). It's due out 
    in Fall of 2011.</p> 
    </td> 

    <td class="date">Expected: Q4 2011</td> 

    <td><a href="/pc/60-94/" class="PC">PC</a>, <a href="/xbox-360/60-20/" class= 
    "X360">X360</a>, <a href="/playstation-3/60-35/" class="PS3">PS3</a></td> 
</tr> 

<tr> 
    <td class="year"></td> 

    <td class="img"><a href="/forza-motorsport-4/61-33400/"><img src= 
    "http://media.giantbomb.com/uploads/0/1992/1654849-forza4_thumb.jpg" alt= 
    ""></a></td> 

    <td class="title"> 
    <a href="/forza-motorsport-4/61-33400/">Forza Motorsport 4</a> 

    <p class="deck">The next installment of Turn 10's racing franchise slated for 
    release in Fall 2011. It is set to feature 16 player online races, dynamic race 
    conditions, cars from over 80 manufacturers, and compatibility with Kinect, both 
    on and off the racetrack.</p> 
    </td> 

    <td class="date">Expected: Oct 2011</td> 

    <td><a href="/xbox-360/60-20/" class="X360">X360</a></td> 
</tr> 

<tr> 
    <td class="year"></td> 

    <td class="img"><a href="/max-payne-3/61-23398/"><img src= 
    "http://media.giantbomb.com/uploads/0/1400/938434-custom_1237811317319_mp3_poster_thumb.jpg" 
    alt=""></a></td> 

    <td class="title"> 
    <a href="/max-payne-3/61-23398/">Max Payne 3</a> 

    <p class="deck">The long awaited third instalment in Remedy's beloved series, in 
    which an aging Max Payne faces one final chance to redeem himself.</p> 
    </td> 

    <td class="date">Expected: 2011</td> 

    <td><a href="/pc/60-94/" class="PC">PC</a>, <a href="/playstation-3/60-35/" class= 
    "PS3">PS3</a>, <a href="/xbox-360/60-20/" class="X360">X360</a></td> 
</tr> 

그래서 내가이 예를 들어 여기에 세 가지 요소가있다. :)

답변

2

태그의 여러 HTML 문서로 분리 할 수 ​​없습니다. 개별 TD 요소를 선택하여 개별적으로 파싱 할 수 있습니다.

XPath 선택기 //td은 구문 분석 방법으로 전달할 수있는 모든 요소를 ​​선택합니다.

HtmlAgilityPack.HtmlDocument doc = LoadHtmlHowever(); 
doc.DocumentNode.SelectNodes("//td"); 
관련 문제