【问题标题】:How to show specific web element in webbrowser control如何在 webbrowser 控件中显示特定的 web 元素
【发布时间】:2015-08-24 13:52:56
【问题描述】:

在应用程序中,我只想显示元素内的网页的一个特定部分。

<div id="content"> 

我只想在上面的 HTML 元素中展示它。我如何在 windows phone 8 中使用 web 浏览器控件来实现这一点?

【问题讨论】:

    标签: c# xaml windows-phone-8 windows-phone


    【解决方案1】:

    如果您不能直接在网络服务器上过滤网页。 您可以在将整个网页加载到 Web 浏览器控件后注入一些 javascript 代码来过滤 DOM,或者在将过滤后的内容注入 Web 浏览器控件之前解析 HTML,使用 NavigateToString 方法,如 Fisher YoYo 所示。

    由于 HTML 解析非常具有挑战性,因此您应该使用此方来完成此任务:Html Agility Pack

    以下是基于您的问题的示例:

    static void Main(string[] args)
    {
        HtmlAgilityPack.HtmlWeb web = new HtmlWeb();
        HtmlDocument document = web.Load("http://localhost/testAgilityPack.html");
        HtmlNode contentNode = document.DocumentNode.SelectSingleNode("//div[@id='content']");
        Console.WriteLine(contentNode.WriteTo());
        Console.ReadLine();
    }
    

    这个 sn-p 将提取 div 属性为 id 等于 content 的 HTML 元素并将其导出为字符串。

    【讨论】:

      【解决方案2】:

      从原始源中删除无用的HTML代码后,使用NavigateToString()方法显示网页的特定部分。

      【讨论】:

        猜你喜欢
        • 2010-11-27
        • 1970-01-01
        • 1970-01-01
        • 2012-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多