html 민첩성 팩을 사용하여 div 클래스에서 ul li 항목 가져 오기

.net c# html html-agility-pack

문제

<div class="outer">
    <div class="divOne"></div>
    <div class="divContent">
       <h3>SomeTitle</h3>
       <h4>SomeSubtitle</h4>
       <ul>
          <li><a href="/someUrlx.htm">SomeUrl</a>
               <span> Nr of records under this url </span>
          </li>
       </ul>
       <h4>Some Other Subtitle</h4>
       <ul>
          <li><a href="/someUrlx.htm">SomeUrl</a>
              <span> Nr of records under this url </span>
          </li>
       </ul>
     </div>
</div>

한 번 더, 위의 html 구조 아래의 모든 정렬되지 않은 목록 항목을 가져 오려고합니다.

divContent 클래스 내용을 가져올 수 있어요.

<div class="outer">
    <div class="divOne"></div>
    <div class="divContent">
       <h3>SomeTitle</h3>
       <h4>SomeSubtitle</h4>
       <ul>
          <li><a href="/someUrlx.htm">SomeUrl</a>
               <span> Nr of records under this url </span>
          </li>
       </ul>
       <h4>Some Other Subtitle</h4>
       <ul>
          <li><a href="/someUrlx.htm">SomeUrl</a>
              <span> Nr of records under this url </span>
          </li>
       </ul>
     </div>
</div>

이제 ul li 항목을 가져 오는 표현이 필요합니다.

수락 된 답변

이 잘 작동합니다.

IEnumerable<string> listItemHtml = htmlDoc.DocumentNode.SelectNodes(
    @"//div[@class='outer']/div[@class='divContent']/ul/li")
    .Select(li => li.OuterHtml);

예 : https://dotnetfiddle.net/fnDPLB


아래의 의견을 바탕으로 업데이트 :

값이 "SomeSubtitle"인 <h4> 요소의 직접 형제 인 <ul> <li> 요소에 속한 <li> 요소 만 찾으려면 다음과 같이 작동하는 XPath 표현식을 사용하십시오.

IEnumerable<string> listItemHtml = htmlDoc.DocumentNode.SelectNodes(
    @"//div[@class='outer']/div[@class='divContent']/ul/li")
    .Select(li => li.OuterHtml);

예 : https://dotnetfiddle.net/AfinpV




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.