본문 바로가기

C#

C# html 파싱(2)

먼저 올린 글에서 실제로 html을 파싱하는
파싱의 핵심부분이다. 머리가 둔해서 나름 분석한 걸 주석으로 달아두련다...

try
{
doc = webBrowser1.Document; 
  // 위에서 로딩된 페이지를 doc에 담아둔다.
for (int i = 0; i < doc.GetElementsByTagName("tr").Count; i++) 
  //소스코드들 중에서 <tr> - </tr>로 묶인 부분의 수를 구한다.
{
if (doc.GetElementsByTagName("tr")[i].GetAttribute("id").IndexOf("basket_goods") > -1)
  // 그중에서 <tr id=basket_goods> 이런 식으로 시작되는 부분을 만나면 아래 코드가 실행된다.
{
AddTextBox("제  품 : " + doc.GetElementsByTagName("tr")[i].GetElementsByTagName("td")[2].InnerText);
  // <tr id=basket_goods>로 시작되는 코드의 안에 있는 
  // <td> - </td> 코드들 중에서 3번째(배열은 0부터시작)부분의 텍스트를 가져온다.
  // 코드들은 삭제가 되고 텍스트만 빼서 가져온다(InnerText).
textBox3.Text += Environment.NewLine;
}
}
}
catch (Exception err)
{
    MessageBox.Show(err.Message + "\n" + err.Source);
}

'C#' 카테고리의 다른 글

[C# html 파싱]GetAttribute와 class  (1) 2011.01.04
C# html 파싱  (0) 2011.01.04