将内容从网址提取到div

时间:2013-07-23 07:51:51

标签: c# jquery asp.net-mvc-4

我想从网址http://rid3201.org/site/club_members2.php?id=MTk3Ng==中提取“容器”div。我使用以下代码(在MVC4中)

我的控制器

 public string DownloadUrlData()
    {
        using (System.Net.WebClient wc = new System.Net.WebClient())
        {
            wc.Encoding = System.Text.Encoding.UTF8;
            string htmlCode = wc.DownloadString("http://rid3201.org/site/club_members2.php?id=MTk3Ng==");
            return htmlCode;
        }
    }

我的html页面和jquery是

  @section head{
<script type="text/javascript">
    $(document).ready(function () {
        $.ajax(
        {
        url: '/Member/DownloadUrlData',
        type: "POST",
        dataType: "html",
        async: true,
        cache: false,
        beforeSend: function (request) {

        },
        success: function (data) {
          var theHtml = $(data).find('#container>table:first').html();
          // var $theTable = $(theHtml);
           $("#rData").append(theHtml);
          // Use this HTML or jQuery object to serve your objective
       },
        error: function (xmlHttpRequest, textStatus, errorThrown) {
            //alert(textStatus + ", " + errorThrown + ", " + xmlHttpRequest);
        },
        complete: function (xmlHttpRequest, textStatus) {
       }
   });


    });
</script>
 }

 <div id="rData">

 </div>

我想将该表(在容器div中)附加到div rData中。我可以得到整个HTML代码(在数据中)。但无法提取并加载到rData div中。那部分不起作用。

我发现问题是jquery无法在数据中访问。我怎么能删除这个

1 个答案:

答案 0 :(得分:0)

解析HTML是一件单调乏味的事情。但是我会在后端而不是在javascript前端处理它。特别是您可以更新代码以便在1个位置轻松适应任何更改。

我会使用http://htmlagilitypack.codeplex.com/并解析您拥有的htmlCode字符串,取出您需要的表并将其发送回客户端,这样您就可以直接附加数据而不必将其计算出客户端。