【问题标题】:parse html table using htmlagilitypack on windows phone在 Windows Phone 上使用 htmlagilitypack 解析 html 表
【发布时间】:2014-01-18 08:44:38
【问题描述】:

我可以使用 html agilty pack 获取网页的 html 代码。 代码是这样的。

var table = doc.DocumentNode.SelectNodes("//table[@id='fixTable']");

for(int i = 0; i < table.Count; i++)
 {
   string text = table[i].InnerHtml;
   //txtblk.Text = doc.Load(text);

    var htmlConcat = string.Format("<html><body>{0}" +"</body></html>",text);

  }

现在,我想在 Windows Phone 屏幕上显示整个表格。 我对windows phone了解不多, 那么我应该使用 TextBlock 吗? 我没有运气。

像我们在asp.net中做的那样,将数据表分配给网格,有什么简单的方法吗? 像我们应该使用任何网格控件吗?

在调试时,如果我选择文本并使用 html 可视化器查看它,它就是我想要的完美。但我不知道在 windows phone 中显示的硬件以及在什么...

【问题讨论】:

    标签: windows-phone-7 c#-4.0 html-agility-pack


    【解决方案1】:

    所以您的实际问题是“如何在 windows phone 中显示 html?”。而答案就是使用WebBrowser控制。在你的应用页面中放置一个WebBrowser控件,然后在代码中你可以简单地调用NavigateToString方法在控件中显示html字符串:

    webBrowser1.NavigateToString(htmlConcat);
    

    有关此主题的资源也可以在 Internet 上广泛获得,this is 其中之一。

    更新:

    我想我得到了你所追求的。

    像我们在asp.net中做的那样,将数据表分配给网格,有什么简单的方法吗?

    不幸的是,据我所知,在 windows phone 或任何基于 XAML 的应用程序中没有简单的方法可以做到这一点。 Asp.Net 将您的代码翻译成 HTML,因此很容易将 HTML 字符串附加到 asp.net 页面。 XAML 不是 HTML,因此您必须找到一种方法将 HTML 元素转换为 XAML 控件,这不是一件容易的事。

    【讨论】:

    • 我不想使用网络浏览器。我想在我的应用程序中进行一些控制。即使我试过这个, var node = doc.DocumentNode.Descendants("table") .FirstOrDefault(x => x.Id == "fixTable") .Elements("tr") .Select(tr => tr.Elements( "td").Select(td => td.InnerText).ToArray()).ToArray();但我不知道我应该把它放在哪个控件中。
    • 检查来自codeplex的HTML2XAML,也许它可以帮助你
    猜你喜欢
    • 1970-01-01
    • 2013-05-14
    • 2019-01-26
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多