범위에서 HTMLagilitypack을 사용하여 데이터를 가져옵니다.

asp.net c# html html-agility-pack xpath

문제

HtmlAgilityPack을 사용하여 웹 사이트에서 일부 데이터를 가져 오려고합니다. 데이터는 class="addresscolor__" 속성을 가진 객체에 저장됩니다. 그러나 문제는이 이름을 가진 하나 이상의 클래스가 있다는 것입니다. 그리고이 값으로 특정 클래스에서이 데이터를 가져올 수있는 방법이 있는지 알고 싶습니다. "시작 값"또는 "포함 .."또는 이와 비슷한 것을 사용하고 있습니까?

HTML 코드 :

<p class="addresscolor__">
    <span>Phone:</span>
    33875362 ، 22356341
    <br />
</p>

<p class="addresscolor__">
    <span>mobile:</span>
    09125231827
    <br />
</p>

이 코드를 사용합니다.

<p class="addresscolor__">
    <span>Phone:</span>
    33875362 ، 22356341
    <br />
</p>

<p class="addresscolor__">
    <span>mobile:</span>
    09125231827
    <br />
</p>

다른 하나는이 클래스가 span 태그를 포함하고 있으며이 코드를 사용하여 전체 <p> 태그 값을 잡았지만 "Mobile"span 태그에서만 숫자를 원한다는 것입니다.

수락 된 답변

이 단락을 찾으려면

//p[@class='addresscolor__' and contains(span, 'mobile:')]

텍스트 노드 (전화 번호)로 제한 :

//p[@class='addresscolor__' and contains(span, 'mobile:')]

추가 공백 제거 :

//p[@class='addresscolor__' and contains(span, 'mobile:')]

일치하는 HTML 클래스의 경우 노드가 여러 클래스를 가질 수 있으며이를 처리하는 방법을 고려 하십시오 .




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