【发布时间】:2015-08-24 13:52:56
【问题描述】:
在应用程序中,我只想显示元素内的网页的一个特定部分。
<div id="content">
我只想在上面的 HTML 元素中展示它。我如何在 windows phone 8 中使用 web 浏览器控件来实现这一点?
【问题讨论】:
标签: c# xaml windows-phone-8 windows-phone
在应用程序中,我只想显示元素内的网页的一个特定部分。
<div id="content">
我只想在上面的 HTML 元素中展示它。我如何在 windows phone 8 中使用 web 浏览器控件来实现这一点?
【问题讨论】:
标签: c# xaml windows-phone-8 windows-phone
如果您不能直接在网络服务器上过滤网页。
您可以在将整个网页加载到 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 元素并将其导出为字符串。
【讨论】:
从原始源中删除无用的HTML代码后,使用NavigateToString()方法显示网页的特定部分。
【讨论】: