Html 민첩성 팩 - 행과 열을 반복합니다.

c# html-agility-pack

문제

나는 C # 언어와 HtmlAgilityPack을 사용하여 일부 html 파일을 파싱하는 것에 관여하고있다.

두 열 값을 데이터베이스에 삽입 할 각 행을 얻으려고합니다. 그러나 다음을 실행 :

foreach (HtmlNode row in htmlDoc.DocumentNode.SelectNodes("//tr"))
    {
    foreach (HtmlNode cell in row.SelectNodes("//td"))
    {
    Console.WriteLine(cell.InnerText);
    }
    }

나는 모든 td에 대해 반복 할 때 오류가 발생하고 현재 tr에 포함 된 것은 아닙니다.

내 HTML은 다음과 같이 보입니다.

foreach (HtmlNode row in htmlDoc.DocumentNode.SelectNodes("//tr"))
    {
    foreach (HtmlNode cell in row.SelectNodes("//td"))
    {
    Console.WriteLine(cell.InnerText);
    }
    }

인기 답변

어쩌면이

var rows = doc.DocumentNode
              .SelectNodes("//tr")
              .Select((z, i) => new
                  {
                    RowNumber = i,
                    Cells = z.ChildNodes.Where(c => c.NodeType == HtmlNodeType.Element) })
              .ToList();

rows.ForEach(row => Console.WriteLine("{0}: {1}", row.RowNumber, string.Join(", ", row.Cells.Select(z => z.InnerText))));



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