2016-05-27 8 views
0

私はアラビア語でWebサイトを解析するためにCSQueryを使用しています。 text()関数を使用すると、そのままテキストが返されますが、html()関数を使用するとhtmlエンコーディングが使用されます。例えばこれは私のhtmlタグである:CSQuery非英語のテキストの解析

<div>تعلن عن إرسالها مركبة فضائية للمريخ قريباً جداً</div> 

私が使用:

dom["div"].Text(); 

それが返されます: "تعلنعنإرسالهامركبةفضائيةللمريخقريباجدا"。 しかし、私が使用している場合:

dom["div"].Html(); 

それを返します:

&amp;#1578;&amp;#1593;&amp;#1604;&amp;#1606; &amp;#1593;&amp;#1606; &amp;#1573;&amp;#1585;&amp;#1587;&amp;#1575;&amp;#1604;&amp;#1607;&amp;#1575; &amp;#1605;&amp;#1585;&amp;#1603;&amp;#1576;&amp;#1577; &amp;#1601;&amp;#1590;&amp;#1575;&amp;#1574;&amp;#1610;&amp;#1577; &amp;#1604;&amp;#1604;&amp;#1605;&amp;#1585;&amp;#1610;&amp;#1582; &amp;#1602;&amp;#1585;&amp;#1610;&amp;#1576;&amp;#1575;&amp;#1611; &amp;#1580;&amp;#1583;&amp;#1575;&amp;#1611; 

質問は、私はエンコードせずに実際のテキストを維持しながらHTMLを使用する方法ですか?セレクタタグ内の既存のタグを取得するには、Html()関数が必要です。

編集: ここで元のHTMLページのコンテンツタイプです:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
+0

なぜ 'Text()'と 'Html()'の戻り値に違いはありませんか? –

+0

@FirstStep:ブラウザが正しくフォーマットされていないため、自動的にエンコードするためです。 :) –

+0

なぜ正しくエンコードされていないのですか?これは基本的なutf-8エンコーディングですか? – Lamar

答えて

0

私は、HTML()関数の出力をデコードするSystem.Net.WebUtility.HtmlDecode()を使用して終わりました。

関連する問題