2012-09-05 2 views
1

html 페이지를 구문 분석하여 특정 값을 얻고 싶습니다. C#에서 Linq 또는 문자열 구문 분석을 사용하여 어떻게하면됩니까?Linq parse html string

------------- 더 HTML ----------

 <span class="date"> 
     04.09.2012 
    </span> 
    <table cellspacing="0"><tr><th scope="row">1 EUR</th><td><span>**4,4907**</span></td><td><span class="rise">+0,0009</span></td><td><span class="rise">+0,02%</span></td></tr><tr><th scope="row">1 USD</th><td><span>3,5635</span></td><td><span class="fall">-0,0093</span></td><td><span class="fall">-0,26%</span></td></tr></table> 

------------- MORE HTML ----------

굵게 표시된 값 4,4907에 관심이 있습니다!

어떻게하면 좋을까요?

감사합니다.

+2

'Html Agility Pack'사용 – adatapost

+2

예, [Html Agility Pack] (http://htmlagilitypack.codeplex.com/)을 사용하십시오. Linq는 여기서 아무런 일을하지 않고 문자열 파싱은 악몽이 될 것입니다. – Steve

답변

1

HTML을 구문 분석 할 때주의하십시오.

명백한 방법은 XDocument (XML)로로드하는 것이지만 HTML은 종종 모호하거나 구문 오류가 포함되어 있기 때문에 실패 할 수밖에 없습니다.

여기서 스택 오버플로를하는 사람들은 대신 html 구문 분석을 수행하는 훌륭한 작업을 수행하는 http://htmlagilitypack.codeplex.com/을 사용하도록 제안했습니다. 그런 다음 xpath를 사용하여 문서에 다양한 내용을 쿼리 할 수 ​​있습니다.