HtmlAgilityPack - 특정 테이블을 읽는 방법 - C # 4.0

c# html-agility-pack

문제

C # 4.0과 htmlagilitypack을 사용하면 어떻게 특정 테이블의 값을 읽을 수 있습니까? 제 말은 10 개의 테이블이 있고 6 번째 값을 읽거나 테이블 ID를 갖고 싶다는 뜻입니다.

또는 내가 특정 td 후에 오는 td 값을 읽고 싶다고 말할 수 있습니다.

또는 특정 div 또는 요소 또는 텍스트 뒤에 오는 테이블. 가능한가요?

수락 된 답변

당신이 요구 한 모든 것은 비교적 쉽게 이루어질 수 있습니다. 설명서가 부족할 수도 있습니다. XML 및 네트워크의 XmlDocument 구현과 사용 및 기능면에서 유사해야합니다.

특정 테이블에서 값을 읽으려면 어떻게해야합니까? 10 개의 테이블이 있고 6 번째 값을 읽거나 테이블 ID를 갖고 싶다고 가정 해 봅시다.

6 번째 테이블 찾기 :

// XPath
var table6 = doc.DocumentNode.SelectSingleNode("//table[6]");

// LINQ
var table6 = doc.DocumentNode.Descendants("table").Skip(5).FirstOrDefault();

ID로 테이블 / 요소 찾기 :

// XPath
var table6 = doc.DocumentNode.SelectSingleNode("//table[6]");

// LINQ
var table6 = doc.DocumentNode.Descendants("table").Skip(5).FirstOrDefault();

특정 td 후에 오는 td 값을 읽고 싶다고 가정 해 봅시다.

// XPath
var table6 = doc.DocumentNode.SelectSingleNode("//table[6]");

// LINQ
var table6 = doc.DocumentNode.Descendants("table").Skip(5).FirstOrDefault();

특정 div 나 요소 또는 텍스트 뒤에 오는 표.

// XPath
var table6 = doc.DocumentNode.SelectSingleNode("//table[6]");

// LINQ
var table6 = doc.DocumentNode.Descendants("table").Skip(5).FirstOrDefault();

몇 가지 패턴을 알아야합니다.




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