2017-02-07 5 views
0

i 테이블의 내용을 가져와야합니다. 아래는 내 테이블입니다HtmlAgilityPack을 사용하여 테이블의 값을 얻는 방법

<tr class="oddRow" id="activeFiles25472825Row"> 
    <td>Author Photo</td> 
    <td></td> 
    <td> 
     <div id="active_25472825_CALLOUT" class="fileTruncateCallout" style="position:absolute; display:none">JCS.jpg</div> 
    </td> 
    <td>01/28/2017</td> 
    <td>30.7 KB</td> 
    <td>Member</td> 
    <td> 
     <a href="https://google.com.download">download</a> 
    </td> 
</tr> 

여기 내 코드입니다. 그러나 나는 다음에 무엇이 있는지 모른다. 내가 필요로하는 가치를 얻으려고했으나 효과가 없을 수 있습니다. 그것은 이

이름 나에게 출력 또는 오류

HtmlAgilityPack.HtmlDocument newdoc = new HtmlAgilityPack.HtmlDocument(); 
        newdoc.LoadHtml(htmlString); 
        GeckoElementCollection links = wb.Document.GetElementsByTagName("td"); 
        foreach (var itm in links) 
        { 
} 

그리고 출력을 포기하지 않았다 : JCS.jpg 링크 : https://google.com.download

+0

정확히 무엇을 찾으십니까? tds 안에있는 텍스트? –

+0

@HungCao 좋은 하루. 나는 td 안에 div 값을 가져올 필요가있다. td 태그 안의 href 속성 값. 고맙습니다 –

답변

2

당신은 내가하지 않았다, 이런 식으로 뭔가를 시도 할 수 있습니다 테스트 해보시겠습니까? 뒤에 오는 아이디어를 이해 하시길 바랍니다.

foreach (var td in newDoc.DocumentNode.Descendants("td")) 
      { 
       var div = td.ChildNodes.FirstOrDefault(c => c.Name.Equals("div") && c.GetAttributeValue("class", "").Equals("fileTruncateCallout")); 
       if (div != null) 
       { 
        var name = div.InnerText; 
       } 
       else 
       { 
        var aNode = td.ChildNodes.FirstOrDefault(c => c.Name.Equals("a")); 
        if(aNode != null) 
        { 
         var href = aNode.GetAttributeValue("href", ""); 
        } 
       } 
      }