0

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

<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">
4

2 に答える 2

0

System.Net.WebUtility.HtmlDecode() を使用して Html() 関数の出力をデコードすることになりました。

于 2016-05-28T09:14:57.503 に答える