让我们说我疯了,我想要实现的一个基本HTML呈现的引擎。我想用WPF控制,以显示HTML布局。

虽然没有什么也得不到有这样的想法,我还是想尝试一下!什么图书馆、项目和文件将会帮助我获得这样做?

有帮助吗?

解决方案

由于WPF XAML的能力是HTML的功能的一个超集,几乎所有你需要做的是映射一个到另一个。

如果您的输入是XHTML,你可以简单地使用XSLT或LINQ到XML来获取数据。

如果您使用XSLT你最终会与你XamlReader.Parse解析XAML()获得的UIElement您可以添加到您的窗口或其他容器WPF。这可能是比使用LINQ到XML因为XSLT是相对有限的更多的工作。

如果您使用LINQ到XML,你可以选择生产XAML,然后分析其作为XSLT的情况下,或者你可以直接创建对象树。如果您在使用LINQ到XML创建XAML,我会写在VB.NET实际的翻译代码,而不是C#这是我正常的首选语言。 VB.NET的“XML文本”语法,使工作更容易的部分。

如果您输入任意HTML和XHTML不,我会使用第三方库将其转换为XHTML和工作从那里。处理所有的HTML的解析陌生的是很多的工作,可能主要是无关的实际目标。

如果你只是想不把它变成WPF对象,以显示HTML,您可以使用帧控制。

其他提示

渲染HTML会很容易只转换为XAML文件和渲染应该是比较快的。您将获得与美丽的缩放和字体的硬件加速的浏览器。

但你如何处理CSS - 您将需要创建样式(呸)? DHTML,HTML5和Java脚本..这么多页,现在要求这些thinsg你甚至不能查看。

有关Java脚本的最简单的方法是使用解析器每个人都使用,有可能是一个更好的方法(和Java脚本CIL编译器?)

html的分析程序,与一个类型的映射xaml替代办法,有趣的...也许你可以使用这些代码为语法分析程序分析器 http://www.antlr.org/, 更具体地说这是一个有趣的演示、项目 http://www.codeproject.com/KB/cs/TagBasedHtmlParser.aspx, 你也许可以试图改变你html转换,这将是相当有趣:)

我觉得这个项目正是你的目标是要达到什么:点击 https://htmlrenderer.codeplex.com/ 结果 也许你可以在它的工作,并添加HTML 5和CSS 3的支持!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top