CSQuery解析非英文文本

时间:2016-05-27 13:46:43

标签: c# csquery

我使用CSQuery解析阿拉伯语的网站。当我使用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">

2 个答案:

答案 0 :(得分:0)

我最终使用System.Net.WebUtility.HtmlDecode()来解码Html()函数的输出。

答案 1 :(得分:0)

如果您要使用WebClient抓取HTML页面(这是我的情况),这应该会对您有所帮助

                  Problem_Head  Problem_Pox  Problem_Stomach
PAT_MRN_ID                                            
7860000                0            0                1
8165474                0            1                0
8227510                1            0                0
9641956                1            0                1