【问题标题】:HTML to XHTML WebBrowser controlHTML 到 XHTML WebBrowser 控件
【发布时间】:2010-03-05 15:26:58
【问题描述】:

我一直在编辑模式下使用 .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 最终放入任何网站时,我是否会在某些浏览器上出现渲染问题?

【问题讨论】:

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


    【解决方案1】:

    【讨论】:

      【解决方案2】:

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

      值得检查您是否向浏览器发送了正确的文档类型,因为这可能会解决您的问题(即确保可编辑位绝对是 XHTML 页面)。除此之外,您可以通过使用带有一些自定义(ish)标记的纯文本可编辑区域和下方的预览区域来管理它。呃...有点像堆栈溢出。这样,您就可以创建所需的准确标记,而不是依赖浏览器生成的内容。

      【讨论】:

        猜你喜欢
        • 2011-09-20
        • 1970-01-01
        • 2012-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-14
        • 1970-01-01
        • 2011-05-22
        相关资源
        最近更新 更多