0

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

4

2 回答 2

1

试试这个。 http://tidy.sourceforge.net/

于 2010-03-29T14:53:22.760 回答
0

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

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

于 2010-03-05T15:34:03.820 回答