2016-08-02 3 views
-1
<article class="js_IntraTCBP IntraTCBP dr tr lh2 js_lblContent" id="js_lblContent"><p></p>text 
<p></p><p></p><a name="p1"></a><a name="p1"></a><a name="p1"></a><a name="p1"></a><a name="p1"></a><h1>text</h1><p></p><p></p>text 
<p></p>text<sup>1</sup> 
<p></p>text<sup>2</sup> 
<p></p>text<sup>3</sup> 
<p></p>text<sup>4</sup>text<p></p><hr class="Footer"><p></p><font class="Footer"><p></p>1-ddd 
<p></p>2-ccc 

<p></p>3-bbb 

<p></p>4-aaa 

</font></article> 

구문 분석 페이지와 변경하지 않고 페이지와 바닥 글의 내용을 저장

텍스트

텍스트

텍스트

텍스트 1

텍스트

텍스트 3

텍스트 4 텍스트

1 ddd를

2 CCC

-3- BBB

-4- AAA

012,351,

온라인 도서 페이지를 구문 분석하고 페이지 내용을 변경하지 않고 저장하고 싶습니다.

내가 사용하는 경우이 :

VAR pageContent = document.DocumentNode.SelectNodes ("// 기사 [@ 클래스 = 'js_IntraTCBP IntraTCBP 박사 그럴 LH2의 js_lblContent']/텍스트()");

나에게 모두 '텍스트가 있습니다.

어떻게 모든 바닥 글을 가져올 수 있습니까? 예 : text1 ----> 1 = dddd. 책의 페이지에서 볼 수있는 것과 같습니다.

답변

0

검색 할 문자열이나 패턴을 나타내는 문자와 기호의 시퀀스 인 정규 표현식이나 정규식을 사용해 볼 수 있습니다. System.Text.RegularExpressions.Regex class - MSDN.

일부 html 요소와 일치 시키려면 Regex.Matches을 사용할 수 있지만 각 줄을 반복해야합니다. 이것은 당신이 시작하는 것입니다 :

// loop... 

var matches = Regex.Match(line, @"(\<[\w]*\>|[^\s]*([^<]*)\<\/[\w]*\>)"); 

콘텐츠 사용을 포함하여 태그를 얻으려면 :

string tag = matches.Groups[1].Value; 

없이 태그 사용을주게됩니다 컨텐츠를 얻으려면 :

string content = matches.Groups[2].Value; 

Demo을. 그것은 모든 요소가 아닌 일부 요소를 탐지 할 수 있습니다.여기

은 학습에 도움이 될 몇 가지 링크입니다 :

+0

감사합니다. htmlagilitypack 내 문제를 해결할 choudn't? – error

+0

나는 정규식을 잘 이해하지 못한다. 아무도 나를 더 도울 수 있습니까? 다른 방법으로 설명하거나 자세히 설명하십시오. – error