2016-08-02 6 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 DDDに

2-CCC

3-BBB

4-AAA

私はオンラインブックのページを解析し、内容を変更せずにページの内容を保存したいと考えています。

私はこれを使用します。

VAR pageContent = document.DocumentNode.SelectNodes( "//記事[クラス@ = 'js_IntraTCBP IntraTCBP DR TR LH2 js_lblContent'] /テキストを()");

それは私のすべての 'テキストを取得します。

どのようにすべてのフッターを取得できますか?たとえば、text1 ----> 1 = ddddです。本のページに見られるようなものです。

答えて

0

検索する文字列やパターンを表す文字と記号のシーケンスである正規表現や正規表現を試すことができます。 System.Text.RegularExpressions.Regex class - MSDN

Regex.Matchesを使用していくつかのhtml要素に一致させることができますが、各行をループする必要があります。

// loop... 

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

コンテンツの使用を含むタグを取得するには:

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

なしタグの使用をincudingコンテンツを取得するには:

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

Demoをこれは、あなたが開始されます。それはすべてではなく、いくつかの要素を検出することができます。

+0

感謝:ここ

はそれを学んで役立つかもしれないいくつかのリンクです。 htmlagilitypack私の問題を解決するchoudn't? – error

+0

正規表現はよく分かりません。誰も私をもっと助けることができますか? 別の方法で説明してください。 – error

関連する問題