如何在 webbrowser 控件中显示特定的 web 元素
How to show specific web element in webbrowser control
在应用程序中,我只想显示元素内网页的一个特定部分。
<div id="content">
我只想显示它在上面的 HTML 元素中。我如何使用 windows phone 8 中的 Web 浏览器控件实现此目的?
使用NavigateToString()方法从原始源中删除无用的HTML代码后显示网页的特定部分。
如果不能直接在网络服务器上过滤网页。
您可以在将完整网页加载到 Web 浏览器控件之后注入一些 javascript 代码来过滤 DOM,或者在使用 [=11 将过滤后的内容注入 Web 浏览器控件之前解析 HTML =] 方法,如 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();
}
此代码段将提取属性 id
等于 content
的 div
HTML 元素并将其导出到字符串中。
在应用程序中,我只想显示元素内网页的一个特定部分。
<div id="content">
我只想显示它在上面的 HTML 元素中。我如何使用 windows phone 8 中的 Web 浏览器控件实现此目的?
使用NavigateToString()方法从原始源中删除无用的HTML代码后显示网页的特定部分。
如果不能直接在网络服务器上过滤网页。
您可以在将完整网页加载到 Web 浏览器控件之后注入一些 javascript 代码来过滤 DOM,或者在使用 [=11 将过滤后的内容注入 Web 浏览器控件之前解析 HTML =] 方法,如 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();
}
此代码段将提取属性 id
等于 content
的 div
HTML 元素并将其导出到字符串中。