2016-09-13 4 views
0

나는 예를 들어, HTML 문서와 중첩 된 DIV를 얻을 필요가 :Xpath를 사용하여 중첩 된 div를 얻는 방법?

<div id="maindiv> 
    <div id='firstdiv'> 
    </div> 
    <div id="otherid"> 
     <div id="anotherdiv"><div id="divid"></div> 
    </div> 
</div> 

내가 anotherdiv의 내용을 얻을 필요가있다. maindiv이 주 문서 내에 얼마나 깊고 anotherdiv의 깊이가 maindiv 일 수 있는지 잘 모르겠습니다.

은 현재 내가하고 있어요 :

var doc = new HtmlAgilityPack.HtmlDocument(); 
doc.LoadHtml(content); 

var main = doc.GetElementbyId("maindiv").InnerHtml; 
doc.LoadHtml(main); 

var another = doc.GetElementbyId("anotherdiv"); 

이 잘 작동합니다. 그러나 XPath를 사용하여 필요한 div를 얻는 더 좋은 방법이 있습니까?

+0

/maindiv/otherid/텍스트를 사용할 수 있습니다 – Oscar

답변

1

"/"를 사용하는 x 경로를 사용하여 자식을 추출하려는 경우 "/ * /"로 그랜드 자식을 추출하거나 요소가 얼마나 깊은지를 모르는 경우 "//"를 사용할 수도 있습니다.

는 ID를 사용하여 그냥 사용하는 방법 "깊은"당신의 사업부는 잘 모릅니다 그렇다면

[@id='<id_you_are_looking_for'] (클래스에 의해 추출 같은 방식으로)의 요소를 추출하는

//div[@id='anotherdiv'] 

또는

//*[@id='anotherdiv'] 

은 선택한 ID가있는 요소를 추출합니다.) (이 충분해야하므로

ID는 고유 말아야하지만, 다른 사업부는 주요 사업부 인 슈어을하려는 경우는

//div[@id='maindiv']//div[@id='anotherdiv]