HTML到XHTML WebBrowser控件

时间:2010-03-05 15:26:58

标签: c# html xhtml webbrowser-control html-agility-pack

我一直在编辑模式下使用.NET WebBrowser控件作为界面的一部分,以便最终用户创建HTML内容部分以插入各种网站。他们有一个非常精简的标签列表,例如<p>, <br>, <a href>, <strong>, <ul> <li>...他们无法在标签顶部应用任何格式,因为这是由特定网页css决定的。到目前为止,该系统一直运作良好。

不幸的是,我现在需要xhtml进入更大的xml文档以供各种其他网站进行聚合。 WebBrowsers主要问题似乎是它产生的列表:

<UL><LI>Item1
<LI>item2 
<LI>item3</LI></UL>

是否有一个好的转换器库来解决这个问题,还是可以强制WebBrowser控件来创建XHTML?我已经尝试了HTMLAgilityPack,但它通过执行以下操作转换为XHTML:

<UL><LI>Item1
<LI>item2 
<LI>item3</LI></LI></LI></UL>

我不认为他的设置是正确的,因为标签应该在每个项目的末尾,尽管它会通过xhtml验证。如果没问题,当最终将XML放入任何网站时,我最终会在某些浏览器上出现渲染问题吗?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您必须使用Internet Explorer,这是我能想到的唯一一个不会在内容可编辑部分关闭列表项标签的浏览器。此外,标签应该为小写,这是另一种赠送。

值得检查您是否正在向浏览器发送正确的文档类型,因为这可以解决您的问题(即确保可编辑位肯定是XHTML页面)。除此之外,您可以通过具有一些自定义(ish)标记的纯文本可编辑区域和下面的预览区域来管理它。呃......有点像Stack Overflow。这样,您可以创建所需的精确标记,而不是依赖于浏览器生成的内容。