2015-05-09 59 views
2

我需要得到<div class="month">May 2015</div><div class="author">Alex Xander</div>id="duyuru3483"。我如何能達到上的div(XPATH代碼):Html Agilitypack獲取外部物品

<div class="item"> 
<div class="dateBox"> 
    <div class="month">May 2015</div> 
    <div class="day">07</div> 
</div> 
<div class="mainInfo"> 
<div class="title"> 
    <a href="#" class="text-justify" data-toggle="modal" data-target="#duyuru3483"> 
    2014-2015 Yılı Mezuniyet Töreni Hk. 
    </a> 
    <div class="modal fade" id="duyuru3483" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
     <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header" style="background-color: #009E49;"> 
       <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> 
       <h4 class="modal-title" id="myModalLabel"> 
        <div class="duyuruBaslik">2014-2015 Yılı Mezuniyet Töreni Hk.</div> 
       </h4> 
      </div> 
      <div class="modal-body"> 
       <div class="duyuruMetni"> Mezuniyet törenine katılmak için yapılmasıgereken işlemler ve doldurulması gereken form ektedir. </div> 
       <hr> 
       <div class="author" > Ek : <a style="color:##428bca" href="../files/19_mezuniyet.rar">indir</a> </div> 
      </div> 
      <div class="modal-footer"> 
       <button type="button" class="btn btn-default" data-dismiss="modal">Kapat</button> 
      </div> 
     </div> 
     </div> 
    </div> 
</div> 
<div class="author">Alex Xander</div> 

回答

2

一種選擇是使用Ancestors

var modal = doc.GetElementbyId("duyuru3483"); 
var parent = modal.Ancestors() 
        .Single(e => e.Attributes["class"] !=null && 
           e.Attributes["class"].Value == "item"); 

另一種選擇是使用XPath:

var parent = doc.DocumentNode 
       .SelectSingleNode("div[@class='item'][//div[@id='duyuru3483']]"); 

(你可以ALGO直接使用.dateBox使用:

div[@class='item'][//div[@id='duyuru3483']]/div[@class='dateBox'] 

,當然,你可以只使用ParentNode,但這是不太可靠:

var parent = modal.ParentNode.ParentNode.ParentNode; 

所有這些讓你.item - 它應該很容易從那裏獲取數據。